copyWithZone中"zone"的含义是什么?

Pra*_*ane 6 cocoa nscopying

我正在通过Chung找到"Pro.Conject-C Design Patterns for iOS"

_sharedSinglton = [[super allocWithZone: NULL] init];

我也查看了Apple的NSCopying文档,但无法真正了解ZONE的真正含义.

Sti*_*sis 7

NSZone现在已经过时了,但是在NEXTSTEP时代,NSZone试图将"malloc区域"的概念引入Cocoa.以下是一些描述它启用时如何工作的文档:http://www.cocoadev.com/index.pl?NSZone

  • 我只是抬头看书并引用谷歌.我认为他们在这种情况下使用`-allocWithZone:`的原因是他们的单例模式已经覆盖了`-alloc`,他们想要一种简单的方法来避免他们的`-alloc`覆盖.`-allocWithZone:`躲过覆盖(因为它们永远不会覆盖那个方法),但是与普通的`-alloc`相比,它不会改变任何行为,因为区域已经过时而且没有做任何事情.基本上,这是一个躲避他们自己的`-alloc`覆盖的技巧,而且区域部分是无关紧要的. (3认同)