美文网首页
关于 copy,mutableCopy的一点总结

关于 copy,mutableCopy的一点总结

作者: hui8685291 | 来源:发表于2020-01-22 15:08 被阅读0次

    不管是集合类对象(NSArray,NSDictionary,NSSet...),还是非集合类对象(NSString),接收到copy或者mutableCopy消息时,都需遵循以下准则:

    copy 返回的都是不可变对象
    所以如果对 copy 返回值去调用可变对象的接口就会 crash。

    mutableCopy 返回的都是可变对象
    所以在 - (void)testCash 方法中执行到 self.copAry = arr; ARC 环境下setter 方法执行了 copy 方法,导致原本 NSMutableArray类型数组变成 NSArray 类型,在调用removeObject:方法时,自然会出现这个错误reason: '-[__NSArrayI removeObject:]: unrecognized selector sent to instance 0x6000000487c0'

    相关文章

      网友评论

          本文标题:关于 copy,mutableCopy的一点总结

          本文链接:https://www.haomeiwen.com/subject/jwouzctx.html