Swift: убить получателя после настоящего - PullRequest
0 голосов
/ 19 ноября 2018

Я использую ниже код для приемника в 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 Ответ

0 голосов
/ 19 ноября 2018

При попытке отклонить ViewControllerChat попытайтесь удалить делегатов: QBRTCClient.instance().removeDelegates

Поскольку причиной получения нескольких раз одно и то же сообщение, должен быть способ, которым вы назначаете делегатов при каждой загрузке ViewControllerChat.Может быть, лучше создать указанный сервис для реализации этого.

...