我正在使用JSQMessagesViewController
Parse.com
。我也试图在chatController中实现caching
。
我的缓存代码如下所示:
if query.hasCachedResult{
query.cachePolicy = .cacheThenNetwork
} else{
query.cachePolicy = .networkOnly
}
由于使用.cacheThenNetwork
我正在处理数据两次。首先来自缓存,然后来自网络。
为了在我的PFQuery.findObjectsInBackground
处理此问题,我使用:
self.messages.removeAll()
self.users.removeAll()
找到物品后。
问题:
当我通过例如重新加载数据时按下发送按钮。
CollectionView
正在尝试获取尚未下载的数据。
override func collectionView(_ collectionView: JSQMessagesCollectionView!,
messageDataForItemAt indexPath: IndexPath!) -> JSQMessageData! {
return self.messages[indexPath.item]
}
会导致异常。
如何在完成加载之前阻止VC加载详细信息?
向collectionView加载和添加消息是从另一个Project:
实现的