【发布时间】:2016-11-01 20:35:01
【问题描述】:
我目前有一个 DetailViewController 与 ViewController 分离,它嵌入在 UINavigationViewController 中,我想将其嵌入到 UITabBarController 中。当我第一次在storyboard 上执行此操作时,我的应用程序因错误而崩溃:
“无法将 'UITabBarController' (0x10badf258) 类型的值转换为 'UINavigationController' (0x10badf208)”。
经过研究,我添加了前两行(let tabVc =, and let navVc = ),仍然崩溃。创建成功的TabBarController 缺少什么?
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
let tabVc = segue.destinationViewController as! UITabBarController
let navVc = tabVc.viewControllers!.first as! UINavigationController
if segue.identifier == "ShowItem" {
if let row = tableView.indexPathForSelectedRow?.row {
let item = itemStore.allItems[row]
let detailViewController = segue.destinationViewController as! DetailViewController
detailViewController.item = item
detailViewController.imageStore = imageStore
}
}
}
更新:应用更改后,我的错误已更改为
“无法将 'UITabBarController' (0x103ff6258) 类型的值转换为 'Photomania.ItemsViewController' (0x1029520d0)。”
【问题讨论】:
-
在链接 stackoverflow.com/questions/40338691/… 上查看我的答案,然后按照答案中的第 1 步进行操作。希望这会有所帮助...
-
感谢您的帮助,但这并不完全适用于我收到的错误。还有其他建议吗?
-
你能发布你的故事板层次结构吗?你得到那个错误可能是你没有将navigationController配置到你的tabBarController,或者你根本没有使用navigationController,或者为你的tabBarController设置segue标识符等问题。 ..?
-
你的答案就在你手上。如果您正确查看我对该帖子的回答..
-
@Allie 你提供的这段代码属于哪个class/viewController?
标签: ios iphone swift uitabbarcontroller