【问题标题】:can't cast LaunchViewController to UINavigationController无法将 LaunchViewController 转换为 UINavigationController
【发布时间】:2019-01-06 22:12:30
【问题描述】:

我试图从 AppDelegate.swift 中检查网络状态,而不是从 LaunchViewController 中检查。

当我关闭我的网络时,我在AppDelegate 中写了showOfflinePage 我有这个错误投射

无法转换类型的值 'reachability_playground.LaunchViewController' (0x1095b5f20) 到 'UINavigationController' (0x114bb2a20)。 2019-01-06 16:42:04.079430-0500 可达性游乐场 [2781:93635] 无法 'reachability_playground.LaunchViewController' 类型的强制转换值 (0x1095b5f20) 到 'UINavigationController' (0x114bb2a20)。

   private func showOfflinePage() -> Void {
        DispatchQueue.main.async {
            let storyboard = UIStoryboard(name: "Main", bundle: nil);
            let viewController: LaunchViewController = storyboard.instantiateViewController(withIdentifier: "LaunchViewController") as! LaunchViewController;

            // Then push that view controller onto the navigation stack
            let rootViewController = self.window!.rootViewController as! UINavigationController
            rootViewController.pushViewController(viewController, animated: true);
        }
    }

【问题讨论】:

    标签: ios swift casting reachability


    【解决方案1】:

    根据异常消息,您的根视图控制器是LaunchViewController 的实例,而不是UINavigationController 的实例,因此强制向下转换失败。

    您需要检查情节提要并确保入口点场景是导航控制器。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-23
      • 2021-09-29
      • 1970-01-01
      • 2017-12-25
      • 2017-03-02
      • 2015-08-17
      • 2018-11-02
      相关资源
      最近更新 更多