Я хочу показать чат с выбранным пользователем, если текущий пользователь выбрал какой-либо разговор в ConversationViewcontroller
.
На этот раз мое решение выглядит так, но оно не работает:
Настройка уведомлений в ConversationViewController
Я вызываю его в настройке и вызываю в viewDidLoad
:
func customization() {
self.navigationController?.interactivePopGestureRecognizer?.delegate = nil
// notification setup
NotificationCenter.default.addObserver(self, selector: #selector(pushToUserMesssages(notification:)), name: NSNotification.Name(rawValue: "showUserMessages"), object: nil)
}
Показать ChatViewController с указанным пользователем:
@objc func pushToUserMesssages(notification: NSNotification) {
if let user = notification.userInfo?["user"] as? UserModel {
self.selectedUser = user
self.performSegue(withIdentifier: "segue", sender: self)
}
}
Подготовка перехода в ConversationViewController
:
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "segue" {
let vc = segue.destination as! ChatViewController
vc.currentUser = self.selectedUser
}
}
Выполнение перехода в TableView:
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
if self.items.count > 0 {
self.selectedUser = self.items[indexPath.row].user
self.performSegue(withIdentifier: "segue", sender: self)
}
}
Но если я нажму на чат, который хочу открыть, ничего не получится.Заранее спасибо за помощь!