问题描述
如何在 Swift 中复制字典"?
How to copy a "Dictionary" in Swift?
即获取另一个具有相同键/值但内存地址不同的对象.
That is, get another object with same keys/values but different memory address.
另外,如何在 Swift 中复制一个对象?
Furthermore, how to copy an object in Swift?
谢谢,
推荐答案
一个'Dictionary'在swift中其实是一个Struct,是一个值类型.所以复制它很简单:
A 'Dictionary' is actually a Struct in swift, which is a value type. So copying it is as easy as:
let myDictionary = ...
let copyOfMyDictionary = myDictionary
复制一个对象(它是一个引用类型)有几个不同的答案.如果对象采用 NSCopying
协议,那么你可以这样做:
To copy an object (which is a reference type) has a couple of different answers. If the object adopts the NSCopying
protocol, then you can just do:
let myObject = ...
let copyOfMyObject = myObject.copy()
如果您的对象不符合 NSCopying
那么您可能无法复制该对象.根据对象的类,它可能会提供自己的方法来获取副本,或者如果对象没有内部私有状态,那么您可以创建一个具有相同属性的新对象.
If your object doesn't conform to NSCopying
then you may not be able to copy the object. Depending on the object's class it may provide it's own method to get a duplicate copy, or if the object has no internal private state then you could create a new object with the same properties.
这篇关于如何复制“字典"在斯威夫特?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!