我有两个 View Controller ,它们通过 segues 和 prepareForSegue 方法来回发送值。这对我来说一直很完美,直到我决定将我的 ViewController 嵌入到导航 Controller 中。
如果您查看下面的方法,您会发现问题是我的 destinationViewController 不再是 ViewController...它是我新创建的 UINavigationController。
TimeViewController.swift(辅助 Controller )
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,我就理所当然地失去了对之前拥有的变量的访问权限。这些变量是我在 Controller 之间保存数据的方式。
所以我的问题是:
当我的 ViewController 嵌入 UINavigationController 中时,如何对值进行排序?
更新:这就是我的 Storyboard的样子...
最佳答案
将其转换为 ViewController
对我来说效果很好。
var dest = segue.destinationViewController as! ViewController
你的 segue 连接应该是:
关于swift - 当我的 ViewController 嵌入到 UINavigationController 中时,如何对值进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29641325/