Objective-C, когда объявлять какие методы в @interface - PullRequest
7 голосов
/ 01 июля 2011

Когда и какие методы должны быть объявлены в разделе @interface класса? Как я понимаю, методы, которые описывают то, что делает ваш класс, должны быть объявлены в разделе @interface, но другие "вспомогательные" методы не должны быть объявлены. Это правильное понимание с моей стороны?

Ответы [ 3 ]

6 голосов
/ 01 июля 2011

Обычно вы должны добавлять свои методы в файл .h, если хотите, чтобы внешний класс имел к нему доступ (публичные методы).

Когда они закрытые (используются только внутри класса), просто поместите их в свой файл .m.

В любом случае, это просто шаблон.Так как Objective-C работает с сообщениями, даже если вы не установили метод в своем файле .h, внешний файл может получить к нему доступ, но по крайней мере ваше автозаполнение не покажет его.

6 голосов
/ 01 июля 2011

Один из способов - объявить файл instance methods в .h. И объявите private methods внутри .m, используя Category.

Например, в MyOwnClass.h файле.

@interface MyOwnClass

- (void)aInstanceMethod;

@end

И внутри вашего MyOwnClass.m файла, перед блоком @implementation,

@interface MyOwnClass (MyPrivateMethods)

- (void)aPrivateMethod;

@end
1 голос
/ 01 июля 2011

Вы должны объявить все свои методы в своем .h Совет от EmptyStack - это хорошо, но это всего лишь совет.Если вы не собираетесь отправлять свой бинарный файл как SDK, он вам на самом деле не нужен.

Objective-C не имеет (пока) закрытых методов.

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