我知道 copy 创建一个对象的不可变副本,但我只想知道 copywithzone 是如何工作的,以及 copy 和 copywithzone 之间的基本区别是什么
问问题
3653 次
2 回答
13
copy
只是 的缩写copyWithZone:
,使用默认区域。
您很少会copyWithZone:
直接调用,尽管需要定义/实现它才能采用@protocol NSCopying
. 所以你通常copyWithZone:
只会在copyWithZone:
. 同样,您通常会避免实现copy
,而只是让 call 的默认实现copy
通过copyWithZone:
。
于 2012-08-21T05:39:14.130 回答
5
NSZone
是一个与 iOS 无关的遗留概念。默认情况下-copy
,NSObject
将调用-copyWithZone:
默认区域。
于 2012-08-21T05:37:32.683 回答