"Dictionary"实际上是swift中的一个 struct ,它是一种值类型.因此,复制它非常简单:
let myDictionary = ...
let copyOfMyDictionary = myDictionary
复制对象(引用类型)有两种不同的答案.如果对象采用NSCopying
协议,那么您只需执行以下操作:
let myObject = ...
let copyOfMyObject = myObject.copy()
如果对象不符合NSCopying
,则可能无法复制该对象.根据对象的类,它可以提供自己的方法来获取副本,或者如果对象没有内部私有状态,则可以创建具有相同属性的新对象.
[编辑以更正上一个答案中的错误-NSObject(类和协议)不提供copy或copyWithZone方法,因此不足以复制对象]