如何使用Swift在segue中进行数据处理

时间:2017-11-17 10:21:53

标签: ios swift

我想将我的数组从第一个传递到第二个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”对于某些人来说是空的原因。

有谁知道为什么?

1 个答案:

答案 0 :(得分:3)

代码中的问题是您实例化一个从未使用过的新ViewController2对象。

您想要使用segue对象内的目标视图控制器,如:

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    if let destinationVC = segue.destinationViewController as? ViewController2 {
        destinationVC.passengers2 = passengers
    }
}