Почему люди используют
@interface ViewController : UIViewController
{
@private
UIButton* button_;
}
Объявления @private в публичных заголовках? Объявление переменной внутри реализации дает тот же результат, не так ли? Мне кажется странным, я думал, что публичный заголовок должен содержать только действительно публичные члены. Что делать с защищенными участниками?
@implementation ViewController
UIButton* button_;
@end
Единственное различие, о котором я знаю, заключается в том, что эта переменная видна только внутри текущего модуля компиляции (файл .m, верно?)
Верно ли то же самое и для методов? Я мог бы хорошо скомпилировать с правильным упорядочиванием методов или предварительными объявлениями. Почему люди хотят объявлять категории для частных методов? Только для тестирования?