Как я уже писал в своем комментарии, вы должны включить точку останова исключения , чтобы увидеть точную строку кода, где происходит исключение.
Возможно, вы не создали UITextInputTraits
, но я предполагаю, что вы создали UITextField
где-то в вашем коде, который вы используете. UITextField
соответствует UITextInput
-протоколу, который соответствует UIKeyInput
-протоколу, который соответствует, например, UITextInputTraits
-протоколу.
Я вижу в сообщении об ошибке, что вы хотите вызвать length
-объект чего-то, что соответствует UITextInputTraits
-протоколу. В какой-то момент кода вы думаете, что у вас в руках NSString
, а не NSString
. Просто угадай: есть ли где-нибудь такая строчка в твоем коде: [myTextField length]
? Если это так, вы должны изменить его на [myTextField.text length]