我有一个两个视图控制器。
让我们说VC1和VC2,我从VC1呈现视图VC2并发送NSMutableArray。像这样:
let vc2 = VC2()
vc2.array = self.someArray
self.presentViewController(vc2, animated: true, completion: nil)
我写了一个委托,当有什么变化时通知VC1。但是当VC2改变数组的值并且在VC1上解散数组时会自动改变。我只想在委托方法调用时更改它。
我无法弄明白。它没有意义。
抱歉英语不好。
度过愉快的一天。
答案 0 :(得分:0)
NSMutableArray
被称为可变。它可以改变。当你说vc2.array = self.someArray
时,这是对同一个可变数组的引用,而不是新副本。
使用.copy()
创建副本,或者只使用不可变的常规Swift数组(例如[Int]
)。