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 нагрузки. Возможно, создание указанного сервиса для реализации этого было бы лучше.

Другие вопросы по тегам