2016-08-22 2 views
2

Я добавил одно текстовое поле в раскадровку и связал его с файлом заголовка.Приложение разбилось на касание UITextField в ios

Теперь, когда я запустить приложение, я получаю сообщение об ошибке, как

[InputViewController _keyboard]: unrecognized selector sent to instance 

Я пробовал много вещей, но это не сработало.

здесь интерфейс текстового поля

@property (strong, nonatomic) IBOutlet UITextField *countryCode; 

Это линия, которая использует значение текстового поля

NSString *body = [NSString stringWithFormat:@"country=%@", self.countryCode.text]; 

Как я могу решить эту проблему?

Соединения текстового поля можно увидеть ниже:

enter image description here

+0

Вы уверены, что не используете пользовательский интерфейс ввода/пользовательскую клавиатуру, которая может быть фиктивной? –

+0

Да, я уверен, @Aviel Gross – KAR

+0

попытается удалить UITextField и добавить его снова ...возможно, что-то пошло не так – ddb

ответ

4

Проблема с вашим именем:

@property (strong, nonatomic) InputViewController *inputViewController; 

Apple, добавил свойство с похожим именем в классе UIResponder:

@property (nonatomic, readonly, retain) UIInputViewController *inputViewController NS_AVAILABLE_IOS(8_0); 

Это то, что происходит:

  1. краны пользователя ваш TextField.
  2. Из-за свойства с аналогичным именем UIKit Framework ошибочно вводит ваш пользовательский InputViewController экземпляр типа UIInputViewController.
  3. UIKit пытается вызвать keyboard метод UIInputViewController в вашем экземпляре InputViewController.
  4. keyboard Метод не существует на вашем InputViewController, потому что это не экземпляр UIInputViewController.
  5. Вы получаете сообщение об ошибке, которое непризнанный селектор отправляется на ваш ViewController, потому что в вашем ViewController такого метода нет, и приложение корректно распадается.

Измените название этого объекта, и все должно быть в порядке.

Для получения дополнительной информации см. Ответ Brian Nickelhere.

Также читайте, документация от Apple по адресу UIInputViewController.

+0

отлично знать:) ...... – dreamBegin

+0

спасибо. вы правы @NSNoob – KAR

0

Глядя на ошибку, что говорит вам, что вы отправляете сообщение классу, который не определен в нем, поэтому компилятор сообщает, что отправленное вами сообщение не распознается классом. Проверьте созданные вами объекты и выходы и убедитесь, что вы отправляете правильное сообщение в нужный класс или экземпляр и пытаетесь удалить выходы которые вы создали ранее, чего не существует сейчас.

+0

Nopes проблема связана с именем 'inputViewController', который вызывает проблемы с UIKit – NSNoob

+0

, может быть, вы правы @NSNoob его просто предсказание, что я сделал актуальную проблему, можно найти только в том случае, когда код доступен. – dreamBegin

+0

спасибо. Проблема была в названии @NSNoob – KAR

Смежные вопросы