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

How do I access an array from one viewcontroller in another viewcontroller

我对 swift 语言还很陌生,我正在尝试制作一个可以进行一些基本计算的应用程序。我遇到的问题 运行 是我想使用在一个 viewcontroller 中声明的数组中的值在另一个 viewcontroller 中进行计算。
我在第一个 viewcontroller 中这样声明数组:

var array2 = [Double]()

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

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

在 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
    }
}