理解NSCopying--Effective笔记

2017-05-17  本文已影响5人  夜者无念

1,若想令自己所写的对象具有拷贝功能,则需实现NSCopying协议
-(id)copyWithZone:(NSZone *)zone;

这里的zone你可以不用管,历史遗留问题,因为以前开发会据此把内存分成不同的“区”(zone),而对象会创建在某个区厘米。现在就不用啦,每个程序只有一个“默认区”

2,如果自定义对象分为可变版本与不可变版本,那么就要同时实现NSCoping与NSMutableCopying协议

3,复制对象时需决定采用浅拷贝还是深拷贝,一般情况下应该尽量执行浅拷贝

4,如果你所写的对象需要深拷贝,那么可考虑新增一个专门执行深拷贝的方法

上一篇下一篇

猜你喜欢

热点阅读