在类中实现此NSCopying方法以启用复制时,区域参数的用途是什么? 如果我设置一个新对象,我不需要用allocWithZone分配它,因为一个分配就够了......我很困惑......
答案 0 :(得分:25)
这是过去的遗物,我们有多个“区域”可供分配。这些天,所有应用只有一个区域,所有分配都在这里,但NSZone
类仍然存在且远编写太多代码依赖+allocWithZone:
作为进行更改的基本分配方法。
简而言之,您可以完全忽略NSZone
结构,关注+allocWithZone:
的唯一理由是您需要覆盖它。与-copyWithZone:
类似,您可以忽略该区域。如果您愿意,可以拨打+allocWithZone:
在同一区域内通过,但不会有任何区别。
答案 1 :(得分:1)