【发布时间】:2018-10-12 14:31:53
【问题描述】:
我已经构建了一个侧边菜单,当您单击条形按钮项时会弹出该菜单, 单击其中一个菜单选项后,视图控制器会加载正确的数据,但条形按钮项会消失。所以我做了一些研究 我发现问题出在我的 segue 目的地,我的 segue 目的地是视图控制器而不是导航控制器,所以我尝试更改我的代码,结果如下:
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if let cell = sender as? UITableViewCell{
let i = tableView.indexPath(for: cell)!.row
if segue.identifier == "viewController"{
let nav = segue.destination as! UINavigationController
let addEventViewController = nav.topViewController as! ViewController
addEventViewController.varView = i
}
}
}
现在我收到了这个错误:
Thread 1: EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)
【问题讨论】:
-
摆脱那些!使用条件转换和调试器来查看不是您认为的那样。
-
你在哪一行得到这个错误?
-
@AhmetUstem 在这一行让 nav = segue.destination 为! UINavigationController
-
您可能无法使用 segues 来构建侧边菜单。您可能只需要根据需要操作视图层次结构。您可以将主视图控制器设置为容器视图,然后将活动视图控制器设置为该视图
-
您编辑了问题并将其更改为完全不同的内容 - 人们已经为您的问题编写了答案和 cmets,现在他们的答案不再相关。您应该恢复您的编辑并打开一个新问题。
标签: ios swift xcode uinavigationcontroller segue