我已经浏览过很多线索,但我的问题并没有带来好处。我的问题在于我的第三个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之间传递实例。
感谢任何帮助,谢谢。