A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 毛强 中级黑马   /  2015-8-23 10:40  /  441 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1、什么是copy
copy的字面意思就是复制、拷,是一个产生副本的过程
对象拷贝的目的:要使用对象的数据,但是在修改对象的时候不影响原来的对象内容(mutablecopy)
2、特点
修改源文件的内容,不会影响副本文件,修改副本内容,不会英雄源文件。
OC中的copy,就是指对象的拷贝
作用:利用一个源对象尝试一个副本对象
修改源对象的属性和行为,不会影响副本对象(首要条件是源对象或者副本对象可以被修改)
修改副本的对象和属性,不会影响源对象(首要条件是源对象或者副本对象可以被修改)
3、如何使用copy功能
一个对象可以调用copy或mutablecopy方法来创建一个副本对象
copy(浅复制):创建的是不可变副本(如NSStriing、NSArray、NSDictionary)。浅复制实际上是地址的拷贝没有产生新对象
mutableCopy(深复制):创建的是可变副本(如NSMutableString、NSMutableArray、NSMutableDictionary)。深复制产生了新对象,分配了一块内存空间
4、使用copy的功能前提
copy:需要遵守NSCopying协议,实现copyWithZone:方法
mutablecopy:需要遵守NSMutableCopying协议,实现mutableCopyWithZone:方法

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马