我想将我的数组从第一个传递到第二个ViewController。 在我的第一个VC结束时,我试图像这样传递它:
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
let secondVC = ViewController2()
secondVC.passengers2 = passengers
print(secondVC.passengers2)
print(passengers)
}
“passenger”是我在“ViewController.swift”中的第一个数组,“passenger2”是我在“ViewController2.swift”中的第二个数组。
当我转到我的第二个VC时,控制台告诉我,“乘客”和“乘客2”具有相同的值,但是当我在“ViewController2.swift”中时,“passenger2”对于某些人来说是空的原因。
有谁知道为什么?
答案 0 :(得分:3)
代码中的问题是您实例化一个从未使用过的新ViewController2对象。
您想要使用segue对象内的目标视图控制器,如:
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if let destinationVC = segue.destinationViewController as? ViewController2 {
destinationVC.passengers2 = passengers
}
}