面试Copy mutableCopy

1、property修饰关键字copy

创建一个引用计数为1的对象,释放旧对象,然后赋值,此属性只对那些实现了NSCopying协议的对象类型有效。
copy默认是复制该对象的不可变副本。

2.为什么NSString用copy修饰而不用Strong修饰

copy是复制了对象的一个不可变副本,如果用strong无法保证安全性,可能会被偷换掉。
总结:对可变类型用strong修饰,对不可变类型用copy修饰。

3.Property(nonatomatic, copy) NSMutableArray有什么问题?

NSMutableArray会变成NSArray,无法继续添加内容。

4、Copy和MutableCopy的区别

总结:

不可变类型 Copy结果,不产生新对象,浅拷贝;
不可变类型MutableCopy,产生新对象,深拷贝;

可变类型,Copy/MutableCopy结果,都产生新对象,深拷贝。

你可能感兴趣的:(面试Copy mutableCopy)