Для хорошей инкапсуляции приличные 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
иваров.
Однако я не уверен в правильности его синтаксиса. Может ли кто-нибудь подтвердить или опровергнуть его с помощью некоторых канонических ссылок?