在开发工程中,很多时候我们要创建对象的副本,要创建副本,对象所在的类必须遵守 NSCopying 和 NSMutableCopying 的协议:@protocol NSCopying- (id)copyWithZone:(NSZone *)zone;@end@protocol NSMutableCo...
分类:
移动开发 时间:
2014-09-15 17:34:09
阅读次数:
163
copy:建立一个索引计数为1的对象,然后释放旧对象 对NSString对NSString 它指出,在赋值时使用传入值的一份拷贝。拷贝工作由copy方法执行,此属性只对那些实行了NSCopying协议的对象类型有效。更深入的讨论,请参考“复制”部分。retain:释放旧的对象,将旧对象的值赋予输入对...
分类:
其他好文 时间:
2014-09-01 23:58:13
阅读次数:
619
person类-----》.h文件#import<Foundation/Foundation.h>
@interfacePerson:NSObject<NSCopying>//使用copy必须引入NSCopying协议。。。
//语义设置
//1.NSString接收了copy协议,
//2.大多数规范化
@property(nonatomic,copy)NSString*name;
@property(nonat..
分类:
其他好文 时间:
2014-08-26 03:11:16
阅读次数:
255
四,关于语义特性copy和与alloc对应的dealloc以及初始化操作和便利构造器的补充1,语义特性copy如果想对一个对象进行copy操作,对象的类必须服从一个NSCopying协议,并且实现协议中的方法copyWithZone:,方法为(仍以Person类为例):-(id)copyWithZone:(NSZone*)zone{NSString*newSex=..
分类:
其他好文 时间:
2014-08-18 09:20:44
阅读次数:
238
请尊重原作者的辛苦劳动,转载请注明出处。
实践是检验真理的唯一标准。下面就让我们在实践中认识copy和mutableCopy的共同点和区别。
1.copy和mutableCopy的实现过程。
想要一个对象能实现copy首先要继承NSCopying的协议,然后实现+ (id)copyWithZone:(struct _NSZone *)zone,mutableCopy对应的是NSMutable...
分类:
其他好文 时间:
2014-08-14 20:36:49
阅读次数:
158
近年来,开源社区与开源组件随着iOS开发而流行起来,我们经常使用别人的代码,别人也会看到你的代码。所以,我们要把代码写得清晰一些...
shallow 浅拷贝 Deep深拷贝 1、产生一个新对象,对象的内容与源对象相同2、源对象与新对象使用不同的内存区域3、需要NSCopying 或者NSMutableCopying协议才能使用复制功能?4、Fundation中得基础数据类型如Nsstring、NSNumber 等...
分类:
其他好文 时间:
2014-07-30 00:37:22
阅读次数:
313
一个对象使用copy或mutableCopy方法可以创建对象的副本copy - 需要先实现NSCopying协议,创建的是不可变副本(如NSString, NSArray, NSDictionary)mutableCopy - 需要先实现NSMutableCopying协议,创建的是可变副本(如NS...
分类:
其他好文 时间:
2014-07-27 21:44:15
阅读次数:
184
通过唯一的key找到对应的value,类似于Java中的Map创建NSDictionary的方法 + (id)dictionary+ (id)dictionaryWithObject:(id)object forKey:(id)key //作为key的对象需实现NSCopying协议+ (id)di...
分类:
其他好文 时间:
2014-07-25 19:03:31
阅读次数:
225
assign对基础数据类型 (NSInteger,CGFloat)和C数据类型(int, float, double, char)等 等. 此标记说明设置器直接进?行赋值,这也是默认值。在使?用垃圾收集的应?用程序中,如 果你要?一个属性使?用assign,且这个类符合NSCopying协 议,你就...
分类:
其他好文 时间:
2014-07-09 15:45:40
阅读次数:
163