copy总是返回不能被修改的对象,mutableCopy返回可以被修改的对象

例:

NSArray *array = @[@"test", @"test2"];

NSMutableArray *arrayMu = [array copy];// arrayMu实际上被赋值成一个 NSArray 对象,这是如果调用NSMutableArray特有的方法会crash,例如[arrayMu removeObject:@"test"];

NSMutableArray *arrayM = [array mutableCopy]; //此时arrayM被赋值的是一个NSMutalbeArray对象,这时调用NSMutableArray特有的方法不会出现问题

另一个常见问题:

@property (nonatomic, copy) NSMutalbeArray *array; 这样声明有什么问题?

array 被赋值时得到的其实是一个NSArray对象,调用NSMutableArray特有的方法时会crash

例如这样调用:

NSMutableArray *testArray = [NSMutableArray arrayWithObjects:@"test", @"test2"];

self.array = testArray;//这行代码实际上相当于_array = [testArray copy];得到的是NSArray对象

最新文章

  1. UVA - 11584 Partitioning by Palindromes[序列DP]
  2. input type="number"
  3. 一些好的python IDE
  4. 创建URL为空的解决办法
  5. RectAnimation用于在DrawingVisual画进度条
  6. 【JQGRID DOCUMENTATION】.学习笔记.4.Navigator
  7. 动态创建dom元素
  8. 尽历磨难,搞定OPEN VSWITCH安装
  9. 一笔画问题(floyd+oular+dfs)
  10. 这两天dede 仿站的收货
  11. AI - TensorFlow - 示例03:基本回归
  12. 使用fiddler模拟控制网速,实现网速慢。(丢包如何模拟)
  13. BZOJ3393 [Usaco2009 Jan]Laserphones 激光通讯 BFS
  14. js日期的格式化
  15. 使用VBA,优化处理Excel表格
  16. 读书笔记(chapter7)
  17. 新增节点NewBook并增加属性Name="WPF"
  18. YUICompressor的安装及使用(一)
  19. Chubby是什么?
  20. Emmagee—开源Android性能测试工具

热门文章

  1. 怎样禁用或启用"最近使用的项目"
  2. css+div
  3. [Mac]关闭所有打开finder
  4. HDU-2778 DNA Sequence(AC自动机)
  5. 有向图强连通分量 Tarjan算法
  6. 黑马程序员——JAVA基础之IO流缓冲区,转换流,字节流
  7. Unity3D特效-场景淡入淡出
  8. C语言中 *.c和*.h文件的区别!
  9. ajax请求后弹开新页面被浏览器拦截
  10. JS和JQuery总结