【发布时间】:2009-03-30 07:08:21
【问题描述】:
假设我有这样的课程:
@interface SomeClass : NSObject<NSCopying> {
SomeOtherClass *obj;
}
在copyWithZone:的定义中,我这样做:
SomeClass *someCopy = [[SomeClass allocWithZone:zone] init];
所以我的问题是,如果我想复制 obj,哪些是正确的/推荐的?
选项 A:
objCopy = [obj copyWithZone:zone];
选项 B:
objCopy = [obj copy];
【问题讨论】:
-
或选项 C: objCopy = [obj copyWithZone:[self zone]];这样副本将被分配在与调用者相同的区域中。但话说回来,如果你首先使用区域。
标签: objective-c cocoa memory-management