我对快速语言非常陌生,我正在尝试创建一个可以进行基本计算的应用程序。我遇到的问题是我想使用在另一个viewcontroller中的一个viewcontroller中声明的数组中的值来进行计算。
我在第一个viewcontroller中声明了这个数组:
var array2 = [Double]()
然后我不知道如何在第二个视图控制器中访问它。我曾尝试查看以前的问题以及在线教程,但没有成功。
非常感谢任何帮助。提前谢谢。
答案 0 :(得分:1)
创建全局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
}
}