一个对象使用copy或mutableCopy方法可以创建对象的副本1.copy需要实现NSCopying协议创建出来的是不可变副本,如NSString, NSArray, NSDictionary(1)不可变对象调用copy (NSSring除外)不会产生新的对象,而是返回对象本身,相当于retai...
分类:
其他好文 时间:
2015-05-19 20:29:24
阅读次数:
144
NSObject子类对象如果想要实现拷贝,就需要实现NSCopying,NSMutableCopying协议。
理论上说Copy实现的是浅拷贝:retain当前对象的指针,retainCount+1;
mutableCopy实现的是深拷贝:创建新的内存空间并返回地址,retainCount = 1;
个人猜测,之所以这么说因为系统的NSString,NSArray,NSDictionary等...
分类:
其他好文 时间:
2015-05-07 08:55:17
阅读次数:
158
代码:@import Foundation;/**************************************** * Person类 ****************************************/// 要采用某个协议,需要在类的声明中列出该协议的名称,并用尖括号括起...
分类:
其他好文 时间:
2015-05-04 21:41:07
阅读次数:
92
NSCopying简析用到NSCopying的时候并不多,但还是有必要知道最基本的用途,比方说数组的拷贝操作,需要注意的是,数组的拷贝操作并不是执行了 copy 方法,而是需要执行initWithArray:copyItems: ,这点需要注意.源码://// Model.h// NSCopy/.....
分类:
其他好文 时间:
2015-05-02 20:42:45
阅读次数:
160
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------copy的使用copy 和 mutableCopy当一个对象 使用 copy 和 mutableCopy 方法可以创建对象的副本copy 需实现NSCopying协议 创建不可变副本mutableC...
分类:
其他好文 时间:
2015-04-30 21:47:09
阅读次数:
238
Objective-c中某个实例对象是否支持copy操作,要看这个对象是否实现了NSCopying协议:@protocol NSCopying- (id)copyWithZone:(NSZone *)zone;@end对于mutableCopy操作对应的有NSMutableCopying协议:@pr...
分类:
其他好文 时间:
2015-04-27 15:00:24
阅读次数:
118
FoundationFoundation类层次的根是NSObject类,它(和NSObject及NSCopying协议一起)定义了基本的对象属性和行为。Foundation框架的剩余部分由几组相互关联的类和一些独立的类组成。有一些代表基本数据类型的类,如字符串、字节数组、用于存储其它对象的集合类;一...
分类:
其他好文 时间:
2015-04-21 17:46:23
阅读次数:
220
copy:建立一个索引计数为1的对象,然后释放旧对象 对NSString对NSString 它指出,在赋值时使用传入值的一份拷贝。拷贝工作由copy方法执行,此属性只对那些实行了NSCopying协议的对象类型有效。更深入的讨论,请参考“复制”部分。retain:释放旧的对象,将旧对象的值赋予输入对...
分类:
其他好文 时间:
2015-03-30 16:13:43
阅读次数:
148
代码:#import /**************************************** * Person类 ****************************************/// 要采用某个协议,需要在类的声明中列出该协议的名称,并用尖括号括起来// 同时采用多个协...
分类:
其他好文 时间:
2015-01-27 12:38:52
阅读次数:
139
目的:自定义一个 Person 类,实现 copy.首先定义一个 Person 类,由于是自定义类,为了能够支持 copy 方法,需要实现协议@interface Person : NSObject@property (nonatomic, retain)NSString * name;@prope...
分类:
其他好文 时间:
2015-01-24 13:09:29
阅读次数:
191