我有一些代码将两个ViewController推送到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()
为什么这不起作用?当我打开菜单,然后打开子菜单时,它的工作非常完美,但是如果我将上面的代码都压入堆栈,则无法正常工作。
最佳答案
当将两者都推入堆栈时,subMenuVC在其下面,因此未加载视图,这意味着未设置IBOutlet。