我正在尝试在两个视图控制器之间传递一个Array对象。但我希望Array作为引用传递而不是复制。我知道如果我在本地使用某个功能,我可以使用“inout”和“&”根据我发现的例子。
但我想做的事情略有不同。我想将VC1中的Array直接分配给VC2中的Array对象作为参考。这是我的代码:
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "vc2" {
let vc2 = segue.destinationViewController as! ProfileVC
vc2.data = &self.data //I know this line doesn't work, how would I go about it?
}
}
答案 0 :(得分:1)
Swift数组是struct,因此它们将被复制。
最简单的方法是使用对象而不是结构。所以我会改用NSMutableArray。
有了这个,你将掌握所有可变性的力量; - )