通过替换视图委托nil

时间:2015-11-06 14:01:26

标签: ios swift delegates protocols

我有两种方法可以访问我的应用上的其他页面:

  • 滑出点按图标菜单以打开我的滑出式导航面板;
  • 链接在第一页。

enter image description here

当我从菜单或第一页更改页面时,我的委托等于nil,但是当我第一次运行我的应用程序并在代理上打印时,委托就可以了。

我在控制台上看到“lol”消息,但我的菜单无法打开,这里我的委托等于nil,我认为这就是为什么我无法使用我的toggleLeftPanel函数:

@IBAction func menuTapped(sender: AnyObject) {
    print("lol")
    delegate?.toggleLeftPanel?()
}

所以,当我点击图标菜单时,我无法打开我的滑出式导航面板: enter image description here

您可以在此处试用我的应用:https://github.com/Vkt0r/SlideOutSideBarTest

我没有看到委托和协议之间的问题在哪里,我正在寻找教程,我找不到我的错误。

1 个答案:

答案 0 :(得分:1)

您需要取消注释NosOffresViewController

中的menuTapped方法

并将nosOffresTapped替换为类似

的内容
div#content li

在CenterViewContoller中。还需要声明ContainerViewContoller符合NosOffresViewControllerDelegate协议。

好的,我弄清楚为什么它没有设置代表。 UIStoryboard.nosOffresViewController()!每次拨打电话时都会返回一个新实例。因此,您需要设置委托,然后推送其他实例。