ivar を内部的に使用するクラスがあります。クラスのパブリック インターフェイス (ヘッダー) で ivar を公開したくありませんが、次のように実装ファイルで宣言して使用します。
//--------SomeClass.h--------------
@interface SomeClass : NSObject
@end
//--------SomeClass.m--------------
@implementation SomeClass ()
{
@protected
NSMutableDictionary *_privateData;
}
@implementation SomeClass
// ...
@end
次に、SomeClass のサブクラスで、_privateData にアクセスしようとします。
//--------SomeSubClass.m--------------
@implementation SomeSubClass
// ...
- (void)someMethod {
NSLog(@"%@", _privateData); // NOPE
NSLog(@"%@", self->_privateData); // NOPE
NSLog(@"%@", super->_privateData); // NOPE
}
// ...
@end
しかし、私はできません。これを行う方法はありますか?