このコード行:
self.photos = photoList;
この行に変わります
[self setPhotos:photoList];
コンパイラによる - ドット表記は「シンタティック シュガー」と呼ばれるものであり、そのままでは入力が簡単になるだけであり、コードを実際に短縮するわけではありません。
独自のゲッターとセッターを作成した場合 (つまり)
- (NSMutableArray *)photos;
- (void)setPhotos:(NSMutableArray *)myPhotos
次に、「写真」と呼ばれるプロパティがなくても、その砂糖を使用できます。ただし、これは機能の誤用と見なされます (比較のために示します)。
photos という名前のプロパティを作成する場合:
@property (nonatomic, strong) NSMutableArray *photos;
コンパイラは同じ名前を使用して ivar を生成しますが、ゲッターとセッターは作成しません。この線:
@synthesize photos;
getter (すべての場合) と setter (プロパティが読み書き可能な場合) を実行するようにコンパイラに要求します。@synthesize ステートメントを提供しない場合、コンパイラは通常文句を言うので、人々はこれらの警告を観察する必要があります。
setPhotos がないことをエラーで確認できるため、問題は非常に簡単に修正できます。