segue.destinationVC在prepareForSegue中为零

时间:2016-01-25 18:24:42

标签: ios swift

我已经浏览过很多线索,但我的问题并没有带来好处。我的问题在于我的第三个VC,用户点击了编辑UIBarButtonItem'这使他们成为第四个VC。 segue ID是正确的,VC 3和4都是静态表VC,但4嵌入在导航控制器中,3不是。我希望VC 3中的文本字段中的数据被复制'在VC 4中几乎完全相同的文本字段,以便用户可以进行更改并进行更新。当我输入我的目标segue作为prepareForSegue中的第4个VC时,它返回nil,并且内部数据的实例不会被移动到第4个VC,因为'如果让'正在使用。为什么它返回零?我已经查看了segues的生命周期,但是没有学到很多东西,所有其他的VC都很好。

我已尝试过以下两种情况,并且两者都为VC 4返回nil

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    if segue.identifier == "EditSegue" {
        print("correct segue name")
        if let editVC: EditTableViewController = segue.destinationViewController as? EditTableViewController {
            editVC.instanceOfData = self.instanceOfData //instance of data in 4th VC = instanceOfData in 3rd VC
        }
    }
}

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    let editVC = segue.destinationViewController as? EditTableViewController
    if segue.identifier == "EditSegue" {
        editVC.instanceOfData = self.instanceOfData
    }
}

我可能会做一些明显错误的事情,但我还没有遇到过!我之前已经成功地在两个VC之间传输了数据,但实际上并没有在VC之间传递实例。

感谢任何帮助,谢谢。

0 个答案:

没有答案