用@property (copy) NSMutableArray *array;会有什么问题?

我们县回忆一下copy属性的作用,一个属性标记了copy,当你调用他的setter方法,他会建立一个索引计数为1的对象,然后释放旧对象。

@property (copy) NSMutableArray * a;

NSMutableArray* b = [NSMutableArray array];

a = b;

等同于

@property (strong) NSMutableArray * a;

NSMutableArray* b = [NSMutableArray array];

a = [b copy];

所以你的a根本就是一个NSArray,所以报了

-[__NSArray0 removeAllObjects]: unrecognized selector sent to instance 0x14e14970

未找到实例方法的错误。因为NSArray没有removeAllObjects方法。

正确的写法应该是不用copy属性

@property (strong) NSMutableArray * a;

NSMutableArray* b = [NSMutableArray array];

a =  [b mutableCopy];

这里的b可以是NSMutableArray也可以是NSArray;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1.什么情况使用关键字copy? 相比 assign 有什么不同? (1).在 ARC 中,在有可能出现循环引用的...
    爱赚钱的依米阅读 6,185评论 0 22
  • 从前——这两个字是神奇的,像一个脑区,那里儲存着无限的故事。在纸上写下从前二字,后面必跟着一个新故事。从前,有一个...
    有读阅读 2,498评论 0 2
  • 在一篇不擅长的笔墨中,填写了生命的一撇一画。青春我有,执意我有,远方共勉❤
    QueenAdult阅读 1,423评论 2 0
  • 初春,山色如黛。 平白里荒芜的依旧沉睡,雪增添了几分容颜,山更富有了神韵,水更有了气质。 古人有“六花飞絮,满地琼...
    何在在阅读 4,887评论 3 5
  • 就在两分钟前,被简书里的那篇《你若不是我妈多好》戳中了泪点,而在半个小时前詹先生第一次在我面前说起了我妈的不是的...
    XM蜜阅读 2,890评论 3 0

友情链接更多精彩内容