美文网首页
Copy相关

Copy相关

作者: 埃辛诺斯忍 | 来源:发表于2021-01-26 15:45 被阅读0次

    整理一下自己学到的知识,方便以后查看

    常规属性描述

    1.NSString、NSArray、NSDictionary 等等经常使用copy关键字,是因为他们有对应的可变类型:NSMutableString、NSMutableArray、NSMutableDictionary;
    2.block使用copy是从MRC遗留下来的“传统”,在MRC中,方法内部的block是在栈区的,使用copy可以把它放到堆区.在ARC中写不写都行:对于block使用copy还是strong效果是一样的,但写上copy也无伤大雅,还能时刻提醒我们:编译器自动对block进行了copy操作。

    如何让自定义类可以调用copy方法

    1.声明该类的时候遵循NSCopying协议
    2.实现copyWithZone方法

    -(id)copyWithZone: (NSZone*)zone;
    

    注:copy即使是深拷贝,但是内部元素(如字典或数组内的元素)没进行深拷贝,如果需要对对象进行完全性的深拷贝,需要去实现一些其他的操作。(可以在深拷贝时,也对元素进行一次深拷贝,或者利用序列化与反序列化等)

    相关文章

      网友评论

          本文标题:Copy相关

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