使用SWRevealViewController和Swift以编程方式加载控制器

时间:2015-06-24 15:26:55

标签: ios swift swrevealviewcontroller

我在Swift中使用SWRevealViewController,并为左侧导航构建了一个动态UITableView来加载菜单选项。基于用户选择的didSelectRowAtIndexPath,然后我尝试使用

加载新的ViewController
self.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(它是显示/隐藏侧面导航菜单的汉堡按钮)。

为什么这不起作用的任何想法?它都是我的故事板和我班级的关联点。

1 个答案:

答案 0 :(得分:1)

我在执行此操作时遇到了同样的错误 我错过了通过Ctrl拖动将menuButton作为插座连接到ViewController的步骤导致

@IBOutlet weak var menuButton: UIBarButtonItem!

我希望这是导致错误的同一问题。

您还可以使用以下教程:https://www.youtube.com/watch?v=8EFfPT3UeWs