1. copy 和 mutableCopy
不可变 copy : (非容器或容器)浅复制
可变(copy, mutableCopy), 不可变(mutableCopy): (非容器或容器)深复制
容器内对象, 始终为浅复制
2. initWithArray: 和 initWithArray: copyItems: (Dictionary, Set 相同)
initWithArray: 容器为新地址, 容器内对象为地址拷贝
initWithArray: copyItems: 容器为新地址, 容器内对象调用copy方法构成新容器成员
3. arrayWithArray: 与initWithArray
initWithArray: 等同于 alloc → init 引用指数加1
arrayWithArray: 等同于 alloc init 引用指数加1 方法内持有;返回后默认注册到autoreleasePool;超过方法外的自动变量,release一次 引用指数减1
所以说前者更高效
原文:http://www.cnblogs.com/hushuai-ios/p/5159046.html