forum discussion看来,最大的不同是性能因素allocWithZone:将从特定的内存区域分配内存,从而降低了交换成本。

在实践中,几乎没有机会使用allocWithZone:,任何人都可以给出简单的示例来说明使用allocWithZone:的情况。

谢谢,

最佳答案



这向我暗示您的ivars和您的类“创建”的任何对象本身都可以通过+allocWithZone:来使用,从而使它们在同一区域中创建的实例。

-(id)init {
  if (self = [super init]) {
    someIvar = [[SomeOtherClass allocWithZone:[self zone]] init];
  }

  return self;
}

07-25 23:03