【发布时间】:2015-06-20 21:19:25
【问题描述】:
我有两个视图控制器,它们通过 segue 和 prepareForSegue 方法来回发送值。在我决定将 ViewController 嵌入导航控制器之前,这对我来说一直很完美。
如果您查看下面的方法,您会发现问题是我的 destinationViewController 不再是 ViewController...它是我新创建的 UINavigationController。
TimeViewController.swift(二级控制器)
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
var dest = segue.destinationViewController as! ViewController
var min = selectedMinute * 60
output = min + selectedSecond
dest.returnedLabel = recievedString
if cancelled == true {
dest.returnedValue = 0
} else {
dest.returnedValue = output
}
}
一旦我的 ViewController 被嵌入到 UINavigationController 我得到这个错误:
Could not cast value of type 'UINavigationController' (0x1088ff698) to 'deleteCoreData.ViewController' (0x106a1f9b0).
因此,如果我将我的 destinationViewController 转换为 UINavigationController,我理所当然地无法访问我之前拥有的变量。这些变量是我在控制器之间保存数据的方式。
所以我的问题是:
当我的 ViewController 嵌入到 UINavigationController 中时,我如何分割值?
更新:这就是我的故事板的样子...
【问题讨论】:
标签: swift uinavigationcontroller segue viewcontroller