NSMutableArray用strong就不会崩溃?

2017-11-11  本文已影响7人  紫色冰雨

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和拷贝对象一致

   传数据数组还是最好不可变

NSArray和NSMutableArray 验证 demo

上一篇下一篇

猜你喜欢

热点阅读