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