码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2014-09-22 16:47:12      阅读:245      评论:0      收藏:0      [点我收藏+]

标签:style   io   ar   sp   cti   on   c   ef   r   

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

标签:style   io   ar   sp   cti   on   c   ef   r   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!