从UICollectionViewCell呈现集合视图控制器

时间:2017-10-19 09:02:38

标签: ios swift xcode

由于某些原因,我的代码打印出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)
}

1 个答案:

答案 0 :(得分:0)

1)检查messagesController是否包含值(不是nil)。

2)检查是否有管理navigationController的{​​{1}}。如果不存在,请将该控制器嵌入MessagesController。否则它就无法推动任何事情。

3)不太可能,但仍然可以:从主线程调用UINavigationController

showChatControllerForUser