由于某些原因,我的代码打印出user.email
罚款,但它没有为用户显示聊天记录控制器,它什么都不做?
(当我点击标题中的按钮时调用func openUsersChatLogForUser()
with in - class ProfilePageHeader: UICollectionViewCell
var messagesController: MessagesController?
func openUsersChatLogForUser(){
guard let user = self.profileUser else {return}
print(user.email!)
self.messagesController?.showChatControllerForUser(user)
}
以下功能属于班级MessagesController: UITableViewController
func showChatControllerForUser(_ user: User2) {
let chatLogController = ChatLogController(collectionViewLayout: UICollectionViewFlowLayout())
chatLogController.user = user
navigationController?.pushViewController(chatLogController, animated: true)
}
答案 0 :(得分:0)
1)检查messagesController
是否包含值(不是nil)。
2)检查是否有管理navigationController
的{{1}}。如果不存在,请将该控制器嵌入MessagesController
。否则它就无法推动任何事情。
3)不太可能,但仍然可以:从主线程调用UINavigationController
:
showChatControllerForUser