如何让自己的类用 copy 修饰符?如何重写带 copy 关键字的 setter?

7236A3FE41D22CF01AE56E57F8836AE3.jpg

若想令自己所写的对象具有拷贝功能,则需实现 NSCopying 协议。如果自定义的对象分为可变版本与不可变版本,那么就要同时实现 NSCopying 与 NSMutableCopying 协议。
具体步骤:

  1. 需声明该类遵从 NSCopying 协议
  2. 实现 NSCopying 协议的方法。
    // 该协议只有一个方法:
  • (id)copyWithZone:(NSZone *)zone;
    // 注意:使用 copy 修饰符,调用的是copy方法,其实真正需要实现的是 “copyWithZone” 方法。
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容