我在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
!
答案 0 :(得分:0)
在尝试撤消ViewControllerChat
时,请尝试删除委托:
QBRTCClient.instance().removeDelegates
由于多次接收相同消息的原因应该是您在每个ViewControllerChat
负载中分配委托的方式。也许创建一个指定的服务来实现这一点会更好。