斯威夫特:礼物出现后杀死接收者

时间:2018-11-19 11:22:31

标签: swift quickblox receiver

我在ViewControllerChat中使用以下代码作为接收者:

func chatDidReceive(_ message: QBChatMessage) {
    print("REC")
}

如果我从ViewControllerChatViewControllerHome,并且收到聊天消息,请为我打印一次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 :(得分:0)

在尝试撤消ViewControllerChat时,请尝试删除委托:        QBRTCClient.instance().removeDelegates

由于多次接收相同消息的原因应该是您在每个ViewControllerChat负载中分配委托的方式。也许创建一个指定的服务来实现这一点会更好。