【发布时间】:2009-08-15 21:26:30
【问题描述】:
我是否有充分的理由不应该做这样的事情? 示例:
我有一个班级MyClass。在那里我有这个实现:
- (id)copyWithZone:(NSZone*)zone {
MyClass *copy = [[MyClass allocWithZone:zone] init];
copy.someproperty = [[self.someproperty copy] autorelease];
return copy;
}
我发现了一个看起来像这样的 sn-p:
- (id)copyWithZone:(NSZone*)zone {
MyClass *copy = [[[self class] allocWithZone:zone] init];
copy.someproperty = [[self.someproperty copy] autorelease];
return copy;
}
不同之处在于,如果它自己的类是人类可读的,则第一个只使用名称,就像它是任何其他类一样。第二个问自己这是什么类。这有什么不同吗,或者在这种情况下两者都可以使用?
【问题讨论】:
标签: iphone cocoa-touch uikit