Для хорошего инкапсуляции приличные программисты Objective-C
помещают свои private
ivars в закрытый extension
, объявленный в основном файле реализации, например:
// MyClass.m
@interface MyClass () {
float value;
}
@end
@implementation MyClass
@end
Но в последнее время я нашел более простой способ скрыть private
ivars: ivars можно объявить в блоке {}
после @implementation
, например:
// MyClass.m
@implementation MyClass {
float value;
}
@end
Это действительно удобно, если не нужно скрывать частные методы, но только private
ivars.
Однако я не уверен в его синтаксической корректности. Может ли кто-нибудь подтвердить или аннулировать его каноническими ссылками?