iOS Copy mutableCopy区别

        前提:使用这两个方法都需要实现NSCopying 或者NSMutableCopying协议。否则会crash。

        copy与mutableCopy区别:

        1)无论是对可变对象的①容器类(NSMutableArray、NSMutableDictionary...)或者②非容器类(NSMutableString..)/不可变对象的③容器类(NSArray、NSDictionary...)或者④非容器类(NSString...) 进行copy操作之后得到的都是不可变对象,进行mutableCopy得到的是可变对象。

        2)对②进行copy和mutableCopy,实质都是内容拷贝(深拷贝)。

               对④进行copy是指针拷贝(浅拷贝),进行mutableCopy是内容拷贝(深拷贝)。

        3)对①进行copy和mutableCopy,实质都是内容拷贝(深拷贝)。

                对③进行copy是指针拷贝(浅拷贝),进行mutableCopy是内容拷贝(深拷贝)。

        详细文章来源iOS中几个常用协议(一)NSCopying/NSMutableCopying) - 简书

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

相关阅读更多精彩内容

  • 本文为转载: 作者:zyydeveloper 链接:http://www.jianshu.com/p/5f776a...
    Buddha_like阅读 4,505评论 0 2
  • 前言 不敢说覆盖OC中所有copy的知识点,但最起码是目前最全的最新的一篇关于 copy的技术文档了。后续发现有新...
    zyydeveloper阅读 8,913评论 4 35
  • 1.ios高性能编程 (1).内层 最小的内层平均值和峰值(2).耗电量 高效的算法和数据结构(3).初始化时...
    欧辰_OSR阅读 30,074评论 8 265
  • 一、从面向对象到Objective-C概览copy 面向对象: 在面向对象的程序设计中,对象的copy就是创建一个...
    被吹落的风阅读 3,508评论 0 2
  • 浅拷贝与深拷贝 浅拷贝:指针拷贝,不产生新的对象,源对象的引用计数器+1 深拷贝:对象拷贝,会产生新的对象,源对象...
    SkyMing一C阅读 4,249评论 0 6

友情链接更多精彩内容