Вы не можете. Только переменные экземпляра могут быть помечены как частные.
Хотя есть способы сделать что-то эквивалентное частным методам.
Общая идея заключается в том, что вы не объявляете закрытый метод в своем заголовке, а в своем файле реализации.
Поэтому, если вы хотите иметь открытый (myPublicMethod) и закрытый (myPrivateMethod) метод, ваш заголовок может выглядеть следующим образом:
@interface MyClass {
}
- (void)myPublicMethod;
@end
И тогда у вас есть три варианта файла реализации:
1.
Не объявляйте метод в любом разделе @interface и просто убедитесь, что он реализован, прежде чем использовать его в разделе @implementation.
@implementation MyClass
- (void)myPrivateMethod { }
- (void)myPublicMethod {
[self myPrivateMethod];
}
@end
2.
Используйте анонимную категорию в вашем файле реализации, чтобы объявить закрытые методы и внедрить их в основной блок @implementation.
@interface MyClass ()
- (void)myPrivateMethod;
@end
@implementation MyClass
- (void)myPrivateMethod { }
- (void)myPublicMethod {
[self myPrivateMethod];
}
@end
3.
Используйте обычную категорию в вашем файле реализации и реализуйте приватные методы в отдельном блоке @implementation.
@interface MyClass (PrivateMethods)
- (void)myPrivateMethod;
@end
@implementation MyClass (PrivateMethods)
- (void)myPrivateMethod { }
@end
@implementation MyClass
- (void)myPublicMethod {
[self myPrivateMethod];
}
@end