作者回复: 有的,这个也是为什么我在项目中增加了warning,正常开发的时候是需要类型检查的。比如最常见的后台没有下发数据,经常 jsonObj[@"result"]如果解析出来的是NSNull,这个时候调用后面的[@"data"],就会有unrecognized selector的Exception.所以在实际开发过程中,一定要做类型的检查。
作者回复: 对于NSMutableArray,他的copy/mutableCopy和alloc或者new是一样的,都是创建一个新的对象。但是他们都属于shallow copy,就是array里面的object都是引用的关系,但是两个NSMutableArray是两个不同的对象。同样的如果对一个NSArray进行copy/mutableCopy,copy之后的对象还是原来的对象,mutableCopy是创建了一个新的对象。