从forum discussion看来,最大的不同是性能因素allocWithZone:将从特定的内存区域分配内存,从而降低了交换成本。
在实践中,几乎没有机会使用allocWithZone:,任何人都可以给出简单的示例来说明使用allocWithZone:的情况。
谢谢,
最佳答案
这向我暗示您的ivars和您的类“创建”的任何对象本身都可以通过+allocWithZone:
来使用,从而使它们在同一区域中创建的实例。
-(id)init {
if (self = [super init]) {
someIvar = [[SomeOtherClass allocWithZone:[self zone]] init];
}
return self;
}