iOS用アプリの勉強中にこのチュートリアルを読んでいたんですけど
こんな感じでNSMutableArray型のプロパティを定義した場合、
@property (nonatomic, copy) NSMutableArray *masterBirdSightingList;
セッターメソッドであるsetMasterBirdSightingListをオーバーライドして
- (void)setMasterBirdSightingList:(NSMutableArray *)newList { if (_masterBirdSightingList != newList) { _masterBirdSightingList = [newList mutableCopy]; } }
mutableCopyを使うようにしなさい、と書いてあった。なんでかいな?と思ったんだけど、NSMutableArrayのcopyメソッドはNSMutableArrayではなくNSArrayを返すようです。それってコピーじゃないじゃん?という気もしますが、仕様なのでしょうがないですね。でミュータブルな配列であるNSMutableArrayでコピーを生成したい場合はmutableCopyを使えってことなんですね。
一つ勉強になりました。