Swift:出现后杀死接收者
Swift: kill receiver after present
我在 ViewControllerChat
中使用以下代码作为接收器:
func chatDidReceive(_ message: QBChatMessage) {
print("REC")
}
如果我从 ViewControllerHome
去 ViewControllerChat
并且收到聊天,请打印一次 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
负载中分配代表的方式。也许创建一个特定的服务来实现这个会更好。
我在 ViewControllerChat
中使用以下代码作为接收器:
func chatDidReceive(_ message: QBChatMessage) {
print("REC")
}
如果我从 ViewControllerHome
去 ViewControllerChat
并且收到聊天,请打印一次 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
负载中分配代表的方式。也许创建一个特定的服务来实现这个会更好。