Подтвердить что ты не робот

Невозможно преобразовать значение типа "NSRange" (aka "_NSRange" ) в ожидаемый тип "Range <Index>" (aka "Range <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
}
4b9b3361

Ответ 1

Вместо text! скажите (text! as NSString).

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