如何通过引用在视图控制器之间传递数组对象

时间:2016-03-05 19:02:08

标签: ios swift uiviewcontroller

我正在尝试在两个视图控制器之间传递一个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?

    }

}

1 个答案:

答案 0 :(得分:1)

Swift数组是struct,因此它们将被复制。

最简单的方法是使用对象而不是结构。所以我会改用NSMutableArray。

有了这个,你将掌握所有可变性的力量; - )