【发布时间】:2017-06-22 07:52:48
【问题描述】:
我有两个变量,一个是可变数组,第二个是不可变的。
let mutableArray = NSMutableArray(array: ["1","2","3"])
let immutableArray: NSArray = mutableArray
但是当我将元素附加到mutableArray 时,我的immutableArray 也在发生变化。
所以我的假设是在immutableArray 分配中使用.copy。但它是解决问题的最佳变量吗?
【问题讨论】:
-
您在
let immutableArray: NSArray = mutableArray中所做的作业不会进行深层复制。您的假设是正确的,因为您需要制作.copy。 -
@ShamasS 但是如果数组非常大,使用 .copy 会不会对性能产生影响?
-
如果它们相当大,
copy肯定会很贵。 -
有什么理由不使用 Swift
Array? -
@MartinR 强烈依赖于 Obj-c 数据结构的使用。强我的意思是所有子项目都在类中使用它们并作为函数中的参数。
标签: ios swift nsmutablearray nsarray