2015-09-24 19 views
18

Dieser Fehler wird angezeigt, wenn der Bereich für Zeichenfolgen überprüft wird ...Wert des Typs 'NSRange' (aka '_NSRange') kann nicht in den erwarteten Typ 'Bereich <Index>' konvertiert werden (auch bekannt als 'Bereich <String.CharacterView.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

Vergleichen [NSRange: Range ] (http://stackoverflow.com/questions/25138339/nsrange-to-rangestring-index). –

Antwort

33

Statt text! sagen (text! as NSString).

var newString = (text! as NSString).stringByReplacingCharactersInRange(range, withString: string) as? NSString