关于深拷贝和浅拷贝的理解

浅拷贝:只拷贝指针,相当于引用计数+1 (不可变数组)
深拷贝:连同属性拷贝出一个新的对象。
自定义对象如果想要拷贝需要遵循NSCopy协议。 (没实现的话使用copy会直接崩溃)。

关于数组的修饰 (字典同理)

1.不可变数组用copy修饰的原因 (NSString使用copy修饰同理)
方式传入的是一个可变数组。如果使用strong修饰,万一传入的数组在别的地方改变了,会影响此处。

2.可变数组用strong修饰
copy修饰的结果均为不可变的,后续如果进行类型addobject操作会崩溃。

你可能感兴趣的:(ios)