Вы должны использовать «категорию». Это описано здесь:
http://macdevelopertips.com/objective-c/private-methods.html
По сути, вы просто объявляете методы в файле реализации. Категории могут использоваться для других целей, но это довольно простой способ их использования.
Единственное, что я хотел бы изменить из примера кода на этом сайте, это то, что они находятся в верхней части файла реализации:
// =================================
// = Interface for hidden methods
// =================================
@interface SomeClass (hidden)
Вы должны изменить его на:
// =================================
// = Interface for hidden methods
// =================================
@interface SomeClass ()
Это делает его «Анонимной категорией». Вам не нужно называть его, потому что вы реализуете функции прямо здесь в том же файле.
Итак, если вы хотите объявить приватный метод - (void) bar в вашем классе, вы должны сделать:
@interface MyClass ()
-(void)bar;
@end
Тогда вы можете реализовать эту функцию, как обычно