Objective-C のプライベート インスタンス変数の概念を理解するのに苦労しています。
クラスがあるとしましょう:
@interface Dog : NSObject
および 2 つの宣言されたセレクター
- (void)setSomeString:(NSString *)_someString;
- (NSString *)someString;
Dog.m 実装ファイルで、プライベート インスタンス変数を宣言します。
@interface Dog()
{
NSString *someString;
}
プログラムのメイン メソッドで、新しい犬オブジェクトを作成します。
Dog *myDog = [[Dog alloc] init];
main メソッドからこのようなことができるのはなぜですか?
myDog.someString = @"Yoda";
someString 変数はプライベートで、セッターのみがアクセスできると思います
[myDog setSomeString:@"Yoda"];