【发布时间】:2016-08-07 16:21:42
【问题描述】:
let chatController = ChatLogController()
chatController.user = user
let nav: UINavigationController = UINavigationController(rootViewController: chatController)
self.presentViewController(nav, animated: true, completion: nil)
上面的代码有效,我试图在呈现之前将用户传递给下一个视图控制器 但是这不起作用,它在下一个视图控制器中为用户提供 nil:
let chatController = ChatLogController()
chatController.user = user
let nav: UINavigationController = UINavigationController(rootViewController: MessagesController())
// self.presentViewController(nav, animated: true, completion: nil)
nav.pushViewController(chatController, animated: true)
我真的不知道为什么,抱歉这些愚蠢的问题,我对此很陌生。
【问题讨论】:
-
在第二个示例中,您正在实例化一个新的导航控制器,但该控制器并未添加到视图控制器层次结构中。你必须展示它,然后你才能在上面推任何东西。我也不太明白为什么这个
MessagesController是这个导航控制器的根视图控制器。这是什么MessagesController?你真的想用MessagesController和ChatLogController来展示导航控制器,还是只用ChatLogController? -
你想改用
self.navigationController?.pushViewController(...)吗?
标签: ios swift uinavigationcontroller