我在Swift中使用SWRevealViewController,并为左侧导航构建了一个动态UITableView来加载菜单选项。基于用户选择的didSelectRowAtIndexPath,然后我尝试使用
加载新的ViewControllerself.revealViewController().pushFrontViewController(<<name_of_new_view_controller>>(), animated: true)
在新视图控制器中,在viewDidLoad()下,我有以下代码:
if self.revealViewController() != nil {
menuButton.target = self.revealViewController()
menuButton.action = "revealToggle:"
}
但是当这个视图加载时,我收到一个错误:
致命错误:在解包可选值时意外发现nil
有问题的项目是nil,实际上是menuButton,它是一个Bar Button Item(它是显示/隐藏侧面导航菜单的汉堡按钮)。
为什么这不起作用的任何想法?它都是我的故事板和我班级的关联点。
答案 0 :(得分:1)
我在执行此操作时遇到了同样的错误 我错过了通过Ctrl拖动将menuButton作为插座连接到ViewController的步骤导致
@IBOutlet weak var menuButton: UIBarButtonItem!
我希望这是导致错误的同一问题。
您还可以使用以下教程:https://www.youtube.com/watch?v=8EFfPT3UeWs