Swif: убить получателя после настоящего
Я использую ниже код для приемника в ViewControllerChat
:
func chatDidReceive(_ message: QBChatMessage) {
print("REC")
}
Если я пойду, чтобы пойти ViewControllerChat
от ViewControllerHome
и я получаю чат, распечатать один раз REC для меня
Если я пойду, чтобы пойти из ViewControllerChat
в ViewControllerHome
по приведенному ниже коду и обратно ViewControllerChat
и я получаю чат, напечатайте дважды REC для меня:
let goController: UIViewController mainStoryboard.instantiateViewController(withIdentifier: "ViewControllerHome")
self.present(goController, animated: true, completion: nil)
Это мой план:
1- Из дома я иду в чат
2- В чате я получаю один раз REC
3- Я иду домой по настоящее время
4- Я возвращаюсь в чат из дома и получаю дважды REC
Если я открою несколько раз чат, я получу несколько раз REC
Но я хочу после настоящего ViewControllerChat
мой chatDidReceive
убийство!
1 ответ
При попытке уволить ViewControllerChat
попробуйте удалить делегатов: QBRTCClient.instance().removeDelegates
Поскольку причиной многократного получения одного и того же сообщения должно быть то, как вы назначаете делегатов в каждом ViewControllerChat
нагрузки. Возможно, создание указанного сервиса для реализации этого было бы лучше.