‘Dictionary’实际上是一个swift中的Struct,它是一个值类型。所以复制它是一样容易:
let myDictionary = ... let copyOfMyDictionary = myDictionary
要复制一个对象(这是一个引用类型)有几个不同的答案。如果对象采用NSCopying协议,那么你可以做:
let myObject = ... let copyOfMyObject = myObject.copy()
如果您的对象不符合NSCopying,那么您可能无法复制对象。根据对象的类,它可以提供它自己的方法来获取重复的副本,或者如果对象没有内部私有状态,那么您可以创建一个具有相同属性的新对象。
[编辑以纠正上一个答案中的错误 – NSObject(类和协议)都不提供复制或copyWithZone方法,因此不足以复制对象]