在下面的代码中,如果我返回 NSMutableArray 而不是方法的返回类型 NSArray,我不会收到任何警告或编译错误。
但是,使用 -copy 方法将返回值转换为 NSArray 是一种好习惯,如下面的代码?
还是我应该返回 NSMutableArray?
+(NSArray *)returnImutableArray {
    NSMutableArray *arr = [[NSMutableArray alloc] init];
    [arr addObject:@"a"];
    [arr addObject:@"b"];
    //return arr; // no warning
    return [arr copy];
}