"-copy"和"-copyWithZone:"有什么区别?

8

我知道copy方法可以创建一个不可变对象的副本,但是我想了解一下copywithzone是如何工作的,以及copy和copywithzone之间的基本区别。

2个回答

14

copycopyWithZone:的缩写,使用默认区域。

通常情况下,很少直接调用copyWithZone:,尽管为了采用@protocol NSCopying,需要定义/实现它。因此,你通常只会在copyWithZone:的实现中看到copyWithZone:。同样地,你通常会避免实现copy,并让copy的默认实现通过copyWithZone:调用。


5

NSZone是一个过时的概念,在iOS上没有任何影响。默认情况下,NSObject-copy方法将使用默认区域调用-copyWithZone:方法。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接