Вопрос

В 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];
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top