当用户离开群聊时,我使用NSNotifications调用refreshChats。这将更新User.current.groups(我测试过可以正常工作),因此refreshChats应该观察到所有组都期望用户刚离开的组。对消息进行排序后,将调用Tableview.reloadData(),但是我仍然看到我刚刚留在表视图中的群聊。我必须在终止后重新打开应用程序才能看到更改。
@objc func refreshChats(notification: NSNotification) {
messages.removeAll()
messagesDictionary.removeAll()
for group in User.current.groups {
observeGroupMessages(group: group)
}
observeUserMessages()
}