2015-09-24 11 views
18

स्ट्रिंग वर्णों के लिए रेंज की जांच करते समय यह त्रुटि प्राप्त करने के प्रकार को परिवर्तित नहीं कर सकता ...टाइप 'एनएसआरेंज' (उर्फ '_एनएसआरेंज') के मूल्य को 'प्रकार <Index>' (उर्फ 'रेंज <स्ट्रिंग। कैरेक्टर व्यू.इंडेक्स>')

@objc func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool { 
    let shouldChange = false 
    let text = textField.text 
    var newString = text!.stringByReplacingCharactersInRange(range, withString: string) as? NSString 
    if newString.length > 14{ 
     newString = newString.substringToIndex(14) 
    } 
    textField.text = newString.uppercaseString 

    return shouldChange 
} 
+0

तुलना [NSRange श्रृंखला के लिए ] (http://stackoverflow.com/questions/25138339/nsrange-to-rangestring-index)। –

उत्तर

33

के बजाय text!(text! as NSString) का कहना है।

var newString = (text! as NSString).stringByReplacingCharactersInRange(range, withString: string) as? NSString 
संबंधित मुद्दे