首页 > 其他 > 详细

黑马程序员------oc中的copy

时间:2014-09-22 15:05:03      阅读:215      评论:0      收藏:0      [点我收藏+]

oc中的copy分为深copy和浅copy

深copy的意思是copy后又重新开辟一个内存空间,对copy的资源进行操作,不会影响本来的那份资源。表格中显示哪些为深copy

copy前的可变性 可变 不可变
进行copy 不可变 不可变
进行mutablecopy 可变 可变

 

 

以上四中情况下,除了开始是不可变,进行copy后,还是不可变的,这种情况下是浅copy外,其他的三种情况都是深copy。

进行copy操作的,除了系统的NSArray/NSMuabltArray、NSDictionary/NSMuableArray,对其他自定义的类,也可以进行copy操作

自定义的类进行copy操作的时候,需要以下的步骤

1.定义类时,遵守<NSCopying>协议

2.实现(copyWithZone:...)的方法

3.如果是MRC情况下,需要在重写系统的一些方法,如-release,-retain,-autorelease,- retainCount。如果ARC情况下,是不用写这些方法的

黑马程序员------oc中的copy

原文:http://www.cnblogs.com/yanyuewen/p/3985913.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!