次のコードを検討してください。
@interface TestClass ()
@property NSString *privateProperty;
@end
さて、私が学んだように、コンパイラーにアクセサーも作成させるには、@implement-partに@synthesizeディレクティブを追加する必要があります。
ただし、ディレクティブを追加しない場合は、次のメッセージが機能します。
[self setPrivateProperty:@"foo"];
私の理解では、これはセレクターが不明であるという私を説明するエラーにつながるはずです。なぜこのセッター(そして私はゲッターも)がまだ存在しているのですか?