Swift:出现后杀死接收者

Swift: kill receiver after present

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

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

如果我从 ViewControllerHomeViewControllerChat 并且收到聊天,请打印一次 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杀了!

尝试解散时 ViewControllerChat 尝试移除代表: QBRTCClient.instance().removeDelegates

由于多次收到同一条消息的原因应该是您在每次 ViewControllerChat 负载中分配代表的方式。也许创建一个特定的服务来实现这个会更好。