当前位置: 首页 > 知识库问答 >
问题:

我无法使用字符串类型的参数调用count[duplicate]

祁建明
2023-03-14
func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {
            var result = true
            let prospectiveText = (textField.text as NSString).stringByReplacingCharactersInRange(range, withString: string)

            if textField == textfield4 {
                if count(string) > 0 {
                    let disallowedCharacterSet = NSCharacterSet(charactersInString: "0123456789.").invertedSet
                    let replacementStringIsLegal = string.rangeOfCharacterFromSet(disallowedCharacterSet) == nil

                    let resultingStringLengthIsLegal = count(prospectiveText) <= 9

                    let scanner = NSScanner(string: prospectiveText)
                    let resultingTextIsNumeric = scanner.scanDecimal(nil) && scanner.atEnd

                    result = replacementStringIsLegal &&
                        resultingStringLengthIsLegal &&
                    resultingTextIsNumeric
                }
            }
            return result
        }

共有1个答案

龚玄天
2023-03-14

使用

prospectiveText.characters.count

而不是

count(prospectiveText)
 类似资料:
  • 我刚刚迁移到Xcode7/IOS9,我的部分代码不兼容。 我从Xcode得到以下错误: “ 不能使用类型为”(字符串)“的参数列表调用”计数“” 这是我的代码:

  • 使用新的Swift 1.2更新到Xcode 6.3.1,旧方法更改为,但是当我切换到使用时,它总是抛出此错误消息: 无法使用类型为“(String)”的参数列表调用“count” 这个片段是我从Apple doc复制过来的,但是还是不行。

  • 问题内容: 听起来很荒谬,但是我无法修复这段代码: 无论我如何写闭包,我总是会遇到此错误: 无法使用类型为’ ‘ 的参数列表调用’filter ‘ 定义如下: 并且是Swift类(不继承自NSObject) 我在许多其他地方都使用了几乎相同的产品,而没有出现问题。有什么建议? 问题答案: 如果您不符合以下条件,则会收到该错误:

  • 问题内容: 当我编写代码以使用indexOf从数组中查找项目时,它向我显示了上述错误。这是我的代码:- 问题答案: 为了使用的,必须采取Equatable协议。只有采用此协议,列表才能将一个项目与其他项目进行比较以找到所需的索引

  • 我在玩代码。我在GitHub上找到的(https://github.com/avijeets/ConnectFour)被一个我无法清除的错误彻底难住了。 错误是: "无法将“[[CFCellState]]”类型的值转换为预期的参数类型“Int”" VC顶部的代码,其中定义了: 发生错误的代码:

  • 新手在这里!我试图在Android Studio上创建一个arrayList: 但它给了我一个警告“显式类型参数字符串可以用 解决:谢谢大家的回答,我卸载了Android Studio,然后重新安装了它,我不再遇到这个问题了!