【发布时间】:2015-08-17 11:27:08
【问题描述】:
在使用 Objective-C 时,我只需在 VC_B 中分配一个属性,即可将 NSMutableArray 从一个视图控制器 VC_A 传递给另一个 VC_B
VC_B.list = self.list
self 是 VC_A
当视图控制器从导航堆栈中弹出时,它允许在VC_A 的列表中看到列表中VC_B 中所做的更改。
然而,在 Swift 中,由于数组是按值传递的,因此上述分配不起作用,所以我被困在如何解决这个问题上。现在处理这个问题的正确方法是什么?
【问题讨论】:
-
在弹出 VC_B 时将数组重新传递给 VC_A
-
我认为这篇博文解释了 Swift 专注于将基本数据结构表示为值,而不是为方便起见的引用 - medium.com/swift-programming/… 我怀疑你可以使用 NSArray 来获得类似于 Objective-c 的东西风格,但 Swift 有不同的做事方式,你可能想重新评估你的方法,使其更加 Swift 风格。
-
我认为即使在 Objective-C 中,这也是问题的错误解决方案。为了依赖这种东西而给类提供可变的公共属性是一个非常危险的提议……尤其是当您完全进入应用程序的多线程领域时。
标签: ios swift pass-by-reference