如何从另一个viewcontroller中的一个viewcontroller访问数组

时间:2015-05-27 03:38:58

标签: ios arrays swift uiviewcontroller

我对快速语言非常陌生,我正在尝试创建一个可以进行基本计算的应用程序。我遇到的问题是我想使用在另一个viewcontroller中的一个viewcontroller中声明的数组中的值来进行计算。
我在第一个viewcontroller中声明了这个数组:

var array2 = [Double]()

然后我不知道如何在第二个视图控制器中访问它。我曾尝试查看以前的问题以及在线教程,但没有成功。

非常感谢任何帮助。提前谢谢。

1 个答案:

答案 0 :(得分:1)

VC2中的

创建全局var array2 = [Double]()

将以下覆盖功能添加到VC1的主体

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    let DVC = segue.destinationViewController as! ViewController2 //replace ViewController2 with the name of your 2nd VC
    DVC.array2 = array2
}

总的来说,你正在做的是告诉VC1在发生segue之前将VC1的array2复制到VC2的array2。

当您的应用变得更加复杂时,如果您的VC1有超过1个segue ...意思可以转到多个不同的VC ...您需要更改prepareForSegue以便考虑到此

执行此操作的一种方法是将其更改为

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    if segue.identifier == "SegueIdentifier you give to that particular segue in identityInspector" {
        let DVC = segue.destinationViewController as! ViewController2 //replace ViewController2 with the name of your 2nd VC
        DVC.array2 = array2
    }
}