值类型 引用类型
值类型 默认深拷贝
引用类型是指浅拷贝
当修改数据时,如果你的数据是不可变的,那么值类型/引用类型之间的区别就消失了,或者至少变成纯粹的性能问题而不是语义问题。
这两者之间的根本区别在于,当你使用=时会发生什么。值类型会得到该对象的副本,引用类型仅仅得到该对象的引用。
//////////////////////////////////////////////////////////////////////////
数组
如果要在循环中改变或者增删除数组中的元素,尽量不要用for in,否则会因为枚举过程中改变了元素而崩溃,用标准for循环或者枚举循环方法 而且要逆序枚举
如果要copy一个数组,元素是对象,对象的类要遵守NSCopying协议,调用下面
-(instancetype)initWithArray:(NSArray *)array copyItems:(BOOL)flag;
//////////////////////////////////////////////////////////////////////////