- 浏览: 438706 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (538)
- C/C++ Primer (69)
- Objective-C Primer (102)
- Python Primer (19)
- JavaScript Primer (1)
- Java Primer (37)
- PHP Primer (17)
- 泛 Linux (37)
- Shell Script (21)
- APUE (21)
- UNP__1&2 (19)
- NetWork (7)
- Oracle周边 (38)
- Mysql里边 (6)
- Windows技 (9)
- 简单算法 & 数据结构 (14)
- 设计模式 (6)
- GTK历程 (12)
- 工具使用 (25)
- 杂事 (23)
- 一些概念 (17)
- Web方面 (10)
- myCodeTools (9)
- ^未 竟$ (13)
- 硬件通信 (2)
- Games (1)
最新评论
http://www.apple.com.cn/developer/iphone/library/documentation/UserExperience/Conceptual/MemoryMgmt/Articles/mmImplementCopy.html
从超类继承 NSCopying
如果超类没有实现NSCopying,
则您的类的实现必须复制它所继承的实例变量,以及那些在您的类中声明的实例变量。
一般来说,完成这一任务的最安全的方式是使用alloc, init...和set方法。
另一方面,如果您的类继承了NSCopying的行为,并声明了额外的实例变量,
那么您也需要实现copyWithZone:。
在这个方法中,调用超类的实现来复制继承的实例变量,然后复制其他新声明的实例变量。
您要如何处理新的实例变量,取决于您对超类的实现的熟悉程度。(继承的隐患)
如果超类使用了或者有可能使用过NSCopyObject,那么您必须有别于使用alloc和init...函数的情况,用不同的方式处理实例变量。
从超类继承 NSCopying
如果超类没有实现NSCopying,
则您的类的实现必须复制它所继承的实例变量,以及那些在您的类中声明的实例变量。
一般来说,完成这一任务的最安全的方式是使用alloc, init...和set方法。
另一方面,如果您的类继承了NSCopying的行为,并声明了额外的实例变量,
那么您也需要实现copyWithZone:。
在这个方法中,调用超类的实现来复制继承的实例变量,然后复制其他新声明的实例变量。
您要如何处理新的实例变量,取决于您对超类的实现的熟悉程度。(继承的隐患)
如果超类使用了或者有可能使用过NSCopyObject,那么您必须有别于使用alloc和init...函数的情况,用不同的方式处理实例变量。
发表评论
-
float equal
2013-05-23 18:21 775- (BOOL)floatA:(float)f1 equalB ... -
Coding Guidelines for Cocoa
2013-05-17 16:53 629参考: https://developer.apple.com ... -
Cell
2013-05-16 14:32 745- (void)tableView:(UITableView ... -
Object-C编程规范
2013-05-15 10:49 6901.参考苹果的文档 “Coding Guidelines fo ... -
MacPorts
2013-02-28 18:12 568http://blog.csdn.net/lynjay/art ... -
KVC/KVO 监听对象属性变化
2013-01-10 23:09 7348http://blog.csdn.net/a6472953/a ... -
ios Associative 扩展属性
2013-01-08 16:45 1491@dynamic和@synthesize http://blo ... -
ObjC Dynamic
2013-01-08 15:21 738原文:http://www.onevcat.com/2012/ ... -
UITableView & UITextField
2012-11-08 00:35 788keyboard event ---------------- ... -
UIWebView
2012-10-24 11:06 711http://hi.baidu.com/wei_1123/it ... -
Device orientation
2012-10-15 16:20 693- (BOOL)shouldAutorotateToInter ... -
system notification
2012-10-12 15:22 588for UIApplication These notifi ... -
NSZombies
2012-08-09 08:51 626NSZombies搞定EXC_BAD_ACCESS http: ... -
Quartz 2D Programming Guide
2012-07-17 00:51 551Quartz 2D 内容不少啊 Graphics Trans ... -
NSCache
2012-07-12 14:25 710http://thenewself.blog.163.com/ ... -
NSCoding
2012-07-12 13:39 913@protocol NSCoding - (void ... -
分析 crash 报告的方法
2012-07-12 01:15 546http://blog.csdn.net/toss156/ar ... -
Multi-touch
2012-07-11 23:33 687智能与灵活与工作量>_< http://www.o ... -
iOS的多核编程和内存管理
2012-07-11 18:14 678http://anxonli.iteye.com/blog/1 ... -
NSTimeZone
2012-07-10 14:42 390http://developer.apple.com/libr ...
相关推荐
复制对象(二)<NSCopying>协议和属性的copy特性对应的Demo。
下面小编就为大家分享一篇浅谈iOS中几个常用协议 NSCopying/NSMutableCopying,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
该库使您无需所有样板代码即可使您的对象自动符合NSCopying。 您的对象可以序列化,而不必编写繁琐且难以维护的复制代码。 通常,这并不是要替换所有对象中的NSCopying代码,而是要为不太复杂的简单数据模型对象...
在项目中经常会用到copy、mutableCopy方法,或者调用NSKeyedArchive、NSKeyedUnarchive类方法,这时候就需要实现NSCoding和NSCopying协议。这两个协议的代码是固定形式的,每次都是把属性挨个写上去,非常影响开发...
从基本的NSString, NSArray等等, 到文件管理, 再到NSCopying的实现和讲解等等都做了讲述. 最后一章介绍了少许iPhone开发的东西(基于2.1, 不过基本上没有什么版本相关的东西, 所以现在看也不算过时). 总体上讲, ...
The copy and mutableCopy Methods 413 Shallow Versus Deep Copying 416 Implementing the <NSCopying> Protocol 418 Copying Objects in Setter and Getter Methods Exercises 423 19 Archiving 425 Archiving ...
11.4.5 实现NSCopying 275 11.5 归档应用程序 276 11.5.1 实现FourLines类 277 11.5.2 实现PersistenceView-Controller类 278 11.6 使用iPhone的嵌入式SQLite3 280 11.7 使用Core Data 289 11.7.1 实体和托管对象 ...
本资源写了对字典以及数组的深复制方法,字典或数组里面可以是任意对象,如果是自定义的对象的话,必须要遵守NSCopying协议才能进行复制。
OC17章的源代码,@interface Car : NSObject <NSCopying> { NSString *name; NSMutableArray *tires; Engine *engine; NSString *make; NSString *model; int modelYear; int numberOfDoors; float ...
SMX对象 我厌倦了在我的课程中不断实施 NSCoding。 大多数时候,我都在获取我的每个属性并按原样对它们进行编码。 所以我基本上是在写很多样板代码。... SMXObject 还自动支持 NSCopying 协议,因此您也可以免费获得。
该扩展依赖于NSCopying adherance为POPAnimation和它的子类,这还不是一个版本发布,但住在POP的主分支。 ##开始一旦您的项目中有和 ,只需在您的项目中包含CKComponentPOPAnimation文件。 此时,您需要使用 POP 的...
缓存好的 WellCached 是一个 NSCache 子类,它提供键控下标、基于时间的键过期和一个... 而且,只要您的密钥符合NSCopying协议,您就可以使用类似 NSDictionary 的键控下标语法: ELAWellCached *cache = [ELAWellCac
在赋值时,将新值复制一份,复制工作由copy执行,此属性只对那些实行了NSCopying协议的对象类型有效。 总结 以上所述是小编给大家介绍的iOS属性中的内存管理参数 ,希望对大家有所帮助,如果大家有任何疑问欢迎给我...
该类支持,除其他外, NSCopying和NSFastEnumeration协议。 该树是完全线程安全的。 它使用读者/写锁定模式,因此多个读者(线程)不会相互锁定。 读者被锁定的唯一时间是当作者(线程)想要或可以访问树进行突变...
整个模型由派生组成,因此NSCopying和NSCoding兼容,并且可以轻松地从JSON序列化。 使用和的改编,因此可以轻松地序列化到XML或从XML序列化。 围绕NSOperationQueue和NSURLSessions构建,因此您可以使用熟悉的工具...
现在,它能够生成类符合NSCopying和NSCoding协议所需的所有代码。 将来,它将能够生成更多代码,例如: 从JSON/XML对象生成相应的Objective C类 生成从JSON/XML解析到JSON/XML所需的代码。 当您由于性能或任何其他...