2017-07-19 6 views
0

私はuitextfieldデリゲートメソッドtextFieldToChangeを実装して、テキストフィールドの特定の文字のみを許可しました。最近私は速報3.1に私のアプリを更新し、今はType 'String.Index' (aka 'String.CharacterView.Index') does not conform to protocol '_Strideable'エラーが発生しています。私は私のコードのスナップショットをattatchingています:Swift 3.1 UITextFieldタイプ 'String.Index'(別名 'String.CharacterView.Index')がプロトコル '_Strideable'に準拠していません

enter image description here

私はこの問題が解決し得るのを助けるしてください。ありがとう

答えて

1

私は最近同じ問題に遭遇しました。私の解決策は、すべての文字が許可された文字セットと一致するかどうかをチェックするのではなく、以下のコードは私にとって完璧に機能しました。

func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool { 
     let allowedCharacterSet = CharacterSet.letters 
     if string.isEmpty { 
      return true 
     } else if string.rangeOfCharacter(from: allowedCharacterSet.inverted) != nil { //check if the input contains anything else than letters 
      return false 
     } else { 
      return true 
     } 
    } 
+0

素晴らしい。 Davidに感謝します。 – Ali

関連する問題