首页 > 代码库 > 黑马程序员------oc中的copy
黑马程序员------oc中的copy
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
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。