web-dev-qa-db-ja.com

タイプ 'NSRange'(別名 '_NSRange')の値を予期されたタイプ 'Range <Index>'(別名 '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
}
18
mosaic6

の代わりに text! いう (text! as NSString)

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