【问题标题】:Could not cast value of type 'UINavigationController' to 'jacrs_ios.TopViewController'无法将“UINavigationController”类型的值转换为“jacrs_ios.TopViewController”
【发布时间】:2023-03-23 02:42:01
【问题描述】:

我是 Swift 新手,我试图根据我所遵循的教程制作一个侧边菜单,但我遇到了这个错误。 “无法将 'UINavigationController' (0x1026054a8) 类型的值转换为 'jacrs_ios.TopViewController' (0x1009ac510)。”我注意到这里已经存在相同的问题,但我仍然不明白。我将包括当前的故事板,以防我做错了什么。谢谢。

ViewController 错误

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    let topViewController = segue.destination as! TopViewController
    topViewController.stringPassed = userName.text!
}

故事板

【问题讨论】:

    标签: ios swift uinavigationcontroller xcode-storyboard


    【解决方案1】:

    试试这个

    if let navigationController = segue.destination as? UINavigationController
    {
    
     let topViewController = navigationController?.topViewController as! TopViewController
     topViewController.stringPassed = userName.text!
    
    }
    

    【讨论】:

    • 我之前尝试过类似的方法,但没有 if 语句。它说“使用未声明的类型 UINavigationViewController”
    • 这是 UINavigationController 不是 UINavigationViewController。更新了!
    猜你喜欢
    • 1970-01-01
    • 2021-09-29
    • 1970-01-01
    • 2017-12-25
    • 2018-11-02
    • 1970-01-01
    • 2017-03-02
    • 2015-08-17
    • 2018-04-22
    相关资源
    最近更新 更多