gpt4 book ai didi

ios - 无法快速将类型 'UINavigationController' 的值转换为 'UIViewController'

转载 作者:行者123 更新时间:2023-11-28 09:54:00 27 4
gpt4 key购买 nike

我的父 View Controller 和 subview Controller 都有一个导航 Controller 。 subview Controller 转入另外两个 View Controller ,即“UserLoginViewController”和“RegisterVC”。我希望 UserLogin 中的 subview 按钮执行 Button 操作,该操作又执行涉及父 View Controller 及其导航 Controller 的 segue。

这是我使用的代码:

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == Constants.embedSegue {
let childViewController = segue.destinationViewController as! UserLoginViewController
childViewController.delegate = self
}
}

从 parentVC 调用 UserLoginVC。

我收到一条错误消息

Could not cast value of type 'UINavigationController' (0x109aa7860) to '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
}
}
}

我建议一般不要强制施法。

关于ios - 无法快速将类型 'UINavigationController' 的值转换为 'UIViewController',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40151171/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com