`

NSCopying

 
阅读更多
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...函数的情况,用不同的方式处理实例变量。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics