给NSMutableArray添加copy属性就变成了NSArray
-copy, as implemented by mutable Cocoa classes, always returns their immutable counterparts. Thus, when an NSMutableArray is sent -copy, it returns an NSArray containing the same objects.
实测:
|
1
2
3
4
5
6 |
@property(nonatomic,copy)NSMutableArray
*arrayCopy;@property(nonatomic,strong)NSMutableArray
*arrayStrong;self.arrayCopy=[[NSMutableArrayalloc]init];self.arrayStrong=[NSMutableArrayarrayWithArray:@[@"strong1",@"strong2"]];[self.arrayCopy addObject:@"copy1"];[self.arrayStrong addObject:@"strong3"]; |
报错:
-[__NSArrayI addObject:]: unrecognized selector sent to instance 0x100107090
而arrayStrong则不会错
文章来自:http://www.cnblogs.com/walkerwang/p/3571865.html