【发布时间】:2015-08-20 21:56:49
【问题描述】:
我想知道如何在 VC3 和 VC1 之间传递数据。
我拥有的是根视图(VC1)。然后你输入一个 tableView,如果你选择一个项目,你将输入 tableView2(VC3) - 类别 - 子类别选择器。
到目前为止我所做的是在 VC1 中声明这一点:
@IBAction func unwindToVC1(segue: UIStoryboardSegue) {
}
然后在故事板中我控制拖拽黄色按钮到VC3中的红色按钮并选择“unwindToVC1”作为动作,然后我命名为segue。
然后我在 VC3 中通过 performSegueWithIdentifier() 触发 segue
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "Vc1" {
let toView = segue.destinationViewController as! myRootVc
let test = "test string"
toView.test = test
}
}
它几乎可以工作,我最终进入了 VC1,但传递的值在 VC1 中显示为 nil,即使我之前已经在 vc1 中声明了它:
var 测试:字符串?
【问题讨论】:
-
能否在 if {} 之间添加一个断点。也许你设置的标识符错误。我没有看到其他解释。你的代码看起来不错。
-
if segue.identifier == "Vc1"。我们在哪里“Vc1”? -
@Yuchen 我试过了,它被调用了,所以不知道怎么回事
标签: ios objective-c swift cocoa-touch uistoryboardsegue