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
        }
            Asked
            
        
        
            Active
            
        
            Viewed 82 times
        
    0
            
            
        1 Answers
1
            
            
        Use
prospectiveText.characters.count
instead of
count(prospectiveText)
 
    
    
        Code
        
- 6,041
- 4
- 35
- 75
- 
                    prospectiveText in the sense – lee Jun 23 '16 at 09:17
