我想将数组从第一个ViewController传递到第二个ViewController。
在我的第一次风险投资结束时,我试图这样通过:
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
let secondVC = ViewController2()
secondVC.passengers2 = passengers
print(secondVC.passengers2)
print(passengers)
}
“passengers”是我在“ViewController.swift”中的第一个数组,“passengers2”是我在“ViewController2.swift”中的sewcond数组。
当我转到第二个VC时,控制台告诉我,“passengers2”和“passengers2”具有相同的值,但是只要我在“ViewController2.swift”中,“passengers2”就因为某种原因成为emtpy。
有人知道为什么吗?
最佳答案
代码中的问题是,您实例化了一个新的ViewController2对象,但它从未被使用过。
要使用segue对象中的目标视图控制器,如下所示:
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if let destinationVC = segue.destinationViewController as? ViewController2 {
destinationVC.passengers2 = passengers
}
}