【发布时间】:2011-01-08 00:24:37
【问题描述】:
当在类中实现这种 NSCopying 方法以启用复制时,区域参数的用途是什么? 如果我设置一个新对象,我不需要用 allocWithZone 分配它,因为一个 alloc 就足够了......我很困惑......
【问题讨论】:
标签: iphone nscopying copywithzone
当在类中实现这种 NSCopying 方法以启用复制时,区域参数的用途是什么? 如果我设置一个新对象,我不需要用 allocWithZone 分配它,因为一个 alloc 就足够了......我很困惑......
【问题讨论】:
标签: iphone nscopying copywithzone
这是旧时代的遗物,我们有多个“区域”要分配。如今,所有应用程序只有一个区域进行所有分配,但 NSZone 类仍然存在,而且太多了编写代码以依赖 +allocWithZone: 作为进行更改的基本分配方法。
简而言之,您可以完全忽略NSZone 结构,而关心+allocWithZone: 的唯一原因是您是否需要覆盖它。与-copyWithZone: 类似,您可以忽略该区域。如果您愿意,可以在同一区域通过时致电+allocWithZone:,但不会有任何区别。
【讨论】:
【讨论】: