美文网首页
copy修饰NSMutableArray的问题

copy修饰NSMutableArray的问题

作者: 张员外家的前伙计 | 来源:发表于2018-03-08 18:42 被阅读12次

@property(nonatomic,copy) NSMutableArray * array1;

copy表示,array的setter方法 

- (void)setArray1:(NSMutableArray *)array1 {

if (_array1 != array1) {

[_array1 release];

_array1 = [array1 copy]; //内容拷贝

}}

1    不管是集合类对象(NSArray,NSDictionary等)还是非集合类对象(NSString), 接收到copy消息时,copy返回的都是不可变对象;接收到mutableCopy消息时, mutableCopy 返回的都是可变对象。不可变对象调用可变对象方法时,crash。

2    NSArray的copy -->指针拷贝-->浅拷贝,其余 NSArray的mutableCopy,NSMutableArray的copy, NSMutableArray的mutableCopy 均为深拷贝(内容拷贝)。NSString,NSDictionary及其对应的可变类型都可以此类推。

相关文章

网友评论

      本文标题:copy修饰NSMutableArray的问题

      本文链接:https://www.haomeiwen.com/subject/dngyfftx.html