无法将 LaunchViewController 转换为 UINavigationController
Posted
技术标签:
【中文标题】无法将 LaunchViewController 转换为 UINavigationController【英文标题】:can't cast LaunchViewController to 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);
【问题讨论】:
【参考方案1】:根据异常消息,您的根视图控制器是LaunchViewController
的实例,而不是UINavigationController
的实例,因此强制向下转换失败。
您需要检查情节提要并确保入口点场景是导航控制器。
【讨论】:
以上是关于无法将 LaunchViewController 转换为 UINavigationController的主要内容,如果未能解决你的问题,请参考以下文章
解析 PFUser.currentUser 返回 nil - Swift
SQL Server Management Studio 无法将类型为“System.__ComObject
无法将 createdAt 和 updatedAt 保存为日期时间值,也无法将后端保存为前端
C# 无法将类型为“System.Byte[]”的对象强制转换为类型“System.Data.DataTable
无法将类型为“System.Collections.Generic.List`1[EPMS.Domain.SingleItem]”的对象强制转换为类型“EPMS