次のコードでは、メソッドの戻り値の型である NSArray ではなく NSMutableArray を返しても、警告やコンパイル エラーは発生しません。
しかし、次のコードのように -copy メソッドを使用して戻り値を NSArray に変換するのは良い習慣ですか?
または、NSMutableArray を返す必要がありますか?
+(NSArray *)returnImutableArray {
NSMutableArray *arr = [[NSMutableArray alloc] init];
[arr addObject:@"a"];
[arr addObject:@"b"];
//return arr; // no warning
return [arr copy];
}