如何从一个 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
}
}
我对 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
}
}