Цель кнопки всегда "я"?Могу ли я стать другим? - PullRequest
1 голос
/ 28 июня 2011

Возможно или нет установить цель кнопки как нечто отличное от "себя"? Такие как UIView или UIWindow ??

Я пытался, но я получил EXC_BAD_ACCESS как ошибку.

Ответы [ 2 ]

2 голосов
/ 28 июня 2011

Вы можете установить цель на instance/object.Экземпляр / объект должен реагировать на выбранный вами селектор.В противном случае вы получите исключение SIGABRT.

В основном мы устанавливаем цель для наших пользовательских контроллеров представления, потому что мы делаем некоторые операции с некоторыми событиями.Мы устанавливаем Self как цель, если мы определили действие в текущем контроллере представления.Вы можете установить для него другой контроллер вида, как показано ниже:

AViewController *a = [[AViewController alloc] init];
[yourButton addTarget:a action:@selector(onButtonPressed:) forControlEvents:UIControlEventTouchUpInside];

При нажатии на yourButton будет запущено действие onButtonPressed: экземпляра контроллера вида a. Примечание: AViewController должен реализовывать метод onButtonPressed:.Вы получите SIGABRT, если нет.

0 голосов
/ 30 декабря 2012

У меня были такие же ошибки, это решено с изменением [AViewController class] в качестве цели.

[yourButton addTarget:[AViewController class] action:@selector(onButtonPressed:) forControlEvents:UIControlEventTouchUpInside];

Мой класс также объявлен как знак +, потому что это библиотека для использования во всех приложениях.

@interface SocialClass : NSObject

+ (void) gotoYoutube;
+ (void) gotoFacebook;
+ (void) gotoTwiter;

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