我有一个像[String:[MyClass]]
的字典,我想访问字典中每个数组中的每个值,但没有任何复制。
我可以使用for..in
执行此操作吗?或者forEach
方法可以完成这项工作吗?
答案 0 :(得分:2)
您可以使用for..in
正常迭代,而不必担心值复制机制。如果您对幕后发生的事情感兴趣,请查看Swift阵列采用的 copy-on-write 行为。
它的要点是:当您修改该数组时,只会在内存中创建数组的副本(或实现写时复制的任何其他数据结构)。如果它没有变异,那么两个数组实例仍将使用相同的底层内存。