Вы не используете @public
или другие ключевые слова доступа вне определения интерфейса, так как вы не объявляете публичные или приватные методы в Objective-C.
Пока вы предоставляете метод в заголовке / интерфейсе, он автоматически становится общедоступным извне класса. Если вы только добавляете реализацию, но не открываете ее в заголовке / интерфейсе (или выставляете ее только в расширении класса ), она является закрытой.
@interface FOO : NSObject
{
@public
int a;
}
- (id)init;
- (void)dealloc;
@end
Теперь, почему вы захотите объявить общедоступную переменную int a
экземпляра (вместо использования свойства) или явно объявить два метода, которые уже есть у NSObject
, вне меня.