Ibactions foo и foo:
-
30-09-2019 - |
Вопрос
В Interface Builder I в библиотеке-> классы, когда я выбираю класс, который я сделал в Xcode, то отображать действия, я вижу два с тем же именем:
foo
foo:
В чем разница между этими двумя FOOS?
Решение
foo
это метод, который не принимает никаких аргументов. foo:
передает аргумент или аргументы в свой способ.
Пример:
-(IBAction)foo;
будет показано как foo
в IB.
-(IBAction)foo:(id)sender;
будет показано как foo:
в IB.
Я не знаю, почему у них такое же название, у вас есть их настроить?
Другие советы
IB предполагает, что ваши создания файлов классов используют IB, которые вы будете использовать отправитель и так это создает конструкцию
-(IBAction)foo:(id)sender;
Вам обычно понадобится информация о отправитель Поэтому я бы придерживался этой конструкции. Если вам не нужны отправитель В вашей реализации просто игнорируйте это.
-(IBAction)foo:(id)sender {
[someObject doAMethod];
}