Jen*_*eal 0 uinavigationcontroller ios swift
我有一个导航控制器,用于我的父视图控制器以及我的子视图控制器.子视图控制器进入另外两个视图控制器,即"UserLoginViewController"和"RegisterVC".我希望UserLogin中的子视图按钮执行Button操作,该操作又执行涉及父视图控制器及其导航控制器的segue.
这是我使用的代码:
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == Constants.embedSegue {
let childViewController = segue.destinationViewController as! UserLoginViewController
childViewController.delegate = self
}
}
Run Code Online (Sandbox Code Playgroud)
从parentVC调用UserLoginVC.
我得到一个错误说
无法将'UINavigationController'类型的值(0x109aa7860)转换为'Storey_Keeper.UserLoginViewController'(0x10645b810).
救命?
segue.destinationViewController
UINavigationViewController
如果你的内容UserLoginViewController
是自己的,那将是一个UINavigationController
.
你可以这样得到它:
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == Constants.embedSegue {
if let navigationController = segue.destinationViewController as? UINavigationController {
let childViewController = navigationController.topViewController as? UserLoginViewController
childViewController?.delegate = self
}
}
}
Run Code Online (Sandbox Code Playgroud)
一般来说,我会反对强制施法.
归档时间: |
|
查看次数: |
5024 次 |
最近记录: |