我越来越无法使用字符串类型的参数调用计数 [重复]

Posted

技术标签:

【中文标题】我越来越无法使用字符串类型的参数调用计数 [重复]【英文标题】:i am getting cannot invoke count with an argument of string type [duplicate] 【发布时间】:2016-06-23 08:56:48 【问题描述】:
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】:

使用

prospectiveText.characters.count

而不是

count(prospectiveText)

【讨论】:

prospectiveText 意义上的

以上是关于我越来越无法使用字符串类型的参数调用计数 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

无法使用类型为 [重复] 的参数列表调用类型“NSAttributedString”的初始化程序

无法使用类型为“(字符串)”的参数列表调用“执行选择器”

无法使用参数列表调用类型“附加”

如何解决此错误“无法使用参数列表类型的字符串调用 getObejectAtPath”

无法使用类型为“”的参数列表调用类型“”的初始化程序

无法调用类型的初始化程序:使用类型为“(_Element)”的参数列表