将多个ViewControllers推送到NavigationController堆栈

时间:2015-11-10 13:37:23

标签: ios swift delegates navigationcontroller

我有一些代码将两个ViewControllers推送到NavigationController堆栈。这是因为我想打开菜单的“子菜单”视图。

let menuVC = storyboard!.instantiateViewControllerWithIdentifier("menuView") as! MenuTableViewController
            menuVC.delegate = self

let menuSubVC = storyboard!.instantiateViewControllerWithIdentifier("menuViewSub") as! SubscriptionsTableViewController
            menuSubVC.delegate = menuVC

            controllers?.append(menuVC)
            controllers?.append(menuSubVC)

navigationController?.setViewControllers(controllers!, animated: true)

正如您在代码中看到的那样,有一些代表参与其中。 menuSubVC中的一个方法调用menuVC中的委托方法,当我尝试将ImageView插座设置为新的空图像时,该方法给我一个错误:

allCheckmark.image = UIImage()

为什么这不起作用?当我打开菜单然后是子菜单时,它的工作非常完美,但是如果我用上面的代码将两者都推到堆栈中它就不起作用了。

1 个答案:

答案 0 :(得分:0)

当您将两者都推入堆栈时,subMenuVC位于下方,因此未加载视图,这意味着未设置任何IBOutlet。