我得到不能用字符串类型的参数调用计数

时间:2016-06-23 08:56:49

标签: swift

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 个答案:

答案 0 :(得分:1)

使用

prospectiveText.characters.count

而不是

count(prospectiveText)
相关问题