NSMutableArray 用copy变为不可变数组 用strong和mutableCopy 还是可变数组
1 NSMutableArray 用copy属性
1.1 分析 如何传nsarray 给 NSMutableArray copy属性 那么深拷贝 NSMutableArray 对象其实是 不可 变数组 添加删除数据会崩溃
1.2 对NSMutableArray 用copy变为不可变数组(37行打印mutableArray1 is NSMutableArray = NO) 添加删除数据会崩溃 对nsmutableArray 用
mutablecopy是可变数组 (26行 self.a 是不可变数组 删除会崩溃)
2 NSMutableArray 用strong属性
2.1 NSMutableArray 给NSMutableArray strong还是可变
2.2 给 NSMutableArray strong对象传 nsarray也会崩溃, 因为 strong 内存地址不变
NSMutableArray 对象 指向不可变 添加删除对象就会崩溃 (上图中29行崩溃)
3 NSArray 用copy属性
3.1 mutableArray 和Array 赋值给copy属性的 NSArray 那么还是 不可变array
4 NSArray 用strong属性
4.1 mutableArray 赋值 NSArray 可变数组 , NSArray随着mutableArray变化而变化
综上所术 用了 copy就是不可变 mutableCopy和拷贝对象一致
传数据数组还是最好不可变
网友评论