При установке метода вызова кнопки или добавлении слушателя события в цели-c, каждый обычно ставит цель к сам. Однако у меня есть подкласс NSObject
именованный CALLS
, отдельный из основного файла. Этот подкласс имеет a void
названный METHOD_NAME
который должен быть выполнен.
Первый вопрос, был бы пустота быть + (пустой) METHOD_NAME
или
- (пустой) METHOD_NAME в подклассе.
Следующее - то, как я поставил бы цель addEventListener
использовать подкласс NSObject
и назовите метод в нем. Я сделал бы
цель: [Класс ВЫЗОВОВ];
или создайте экземпляр подкласса NSObject (вызовы) и затем передайте это?
«ЗВОНКИ» и «ИМЯ МЕТОДА» - плохие названия для класс и метод. Старайтесь следовать соглашениям Objective-C. Так как вы не являетесь «nonono», вы можете назвать свой класс чем-то вроде NNEventListener
и, например, методом buttonTapped
.
Первый вопрос: на самом деле это не имеет значения. Могут использоваться как методы класса (+), так и методы экземпляра. Однако было бы очень необычно не использовать метод экземпляра для прослушивания событий пользовательского интерфейса, поэтому ответ - используйте - (void) buttonTapped
Второй вопрос : Я не думаю, что во всем Какао есть метод под названием addEventListener
. Откуда вы об этом узнали? Вы раньше использовали веб-фреймворки для создания приложений?
Чтобы добавить цель к кнопке (или любому другому UIControl
), используйте -addTarget: action: forControlEvents:
Чтобы получить ссылку на метод, который вы хотите вызвать, используйте специальную директиву @selector
, например:
[aButton addTarget:anObject action:@selector(buttonTapped) forControlEvents:UIControlEventTouchUpInside];
aButton
- ваша кнопка
anObject
- любой объект. self
- это просто объект, которому принадлежит метод.Вы можете сдать любой объект на всех
buttonTapped
- имя метода, который должен вызываться при нажатии кнопки