【发布时间】:2018-08-31 23:30:09
【问题描述】:
我正在编写一个聊天应用程序。我想在观察功能之后更新 tableViewController:
覆盖 func viewWillAppear(_ animated: Bool) { super.viewWillAppear(动画)
Api.Message.observeStaticUserDiscussion(toId: self.user!.id!) { (message, messageId, currentId) in
if message.notViewed! && currentId != message.fromId {
Api.Message.updateMessageStatus(withMessage: messageId, value: false)
}
}
// THIS LINE
self.delegate?.updateMenuMessage()
}
我的代码很简单,我检查消息是否被读取,如果没有看到消息,我会更新每个消息的状态。
然后,我可以更新一个 tableViewController(主页,显示来自所有用户的消息)。
如果我包含这一行
self.delegate?.updateMenuMessage()
紧接着
Api.Message.updateMessageStatus(withMessage: messageId, value: false)
它正在工作,但是 tableView 被重新加载了很多次......
我想要这样的代码:
- 观察是否没有看到消息,并在需要时更新值
- 观察功能完成,现在可以重新加载tableView
这可能吗?
【问题讨论】:
标签: ios swift uitableview firebase swift3