нераспознанный селектор отправлен на экземпляр - PullRequest
1 голос
/ 30 апреля 2011

XCode сводит меня с ума (снова). Как люди используют это?

-[UIViewController look_for_offer:]: unrecognized selector sent to instance 0x4e34220
2011-04-30 18:38:25.207 myApp[8261:40b] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIViewController look_for_offer:]: unrecognized selector sent to instance 0x4e34220'

Вот что я сделал. Я сделал кнопку. Я нажал на кнопку и перешел на вкладку «Соединения» в инспекторе. Я перетащил событие касания в код, и оно автоматически создало пустой метод и заголовок метода. Это метод:

- (IBAction)look_for_offer:(id)sender {

}

Теперь запомни, я даже этого не писал. Интерфейсный Разработчик сгенерировал это для меня. Тем не менее, когда я строю и нажимаю кнопку, я получаю сообщение об ошибке «нераспознанный селектор».

Из сообщения об ошибке видно, что он пытается отправить сообщение look_for_offer в UIViewController. Я не знаю, почему он это сделал. На мой взгляд, этот метод является подклассом UIViewController:

@interface ClientSeekingView : UIViewController {

}

- (IBAction)look_for_offer:(id)sender;

Я четко перетащил действие в код этих классов, а не в UIViewController. Почему он пытается отправлять сообщения в UIViewController вместо моего класса?

Что я делаю не так? Как мне пожалуйста Xcode?

PS: я несколько раз чистил и перестраивал, не помогает.

МРБ

1 Ответ

9 голосов
/ 30 апреля 2011

Похоже, вы не изменили объект Interface Builder File's Owner на свой собственный класс. IB создал объект типа UIViewController, а не ClientSeekingView. Сообщение об ошибке говорит, что ваш селектор отправляется объекту класса UIViewController.

Чтобы изменить класс, вы должны использовать Identity Inspector . Identity Inspector Menu Item

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...