从缓存加载JSQMessagesViewController

时间:2016-09-27 13:47:30

标签: swift caching parse-platform uicollectionview

我正在使用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

实现的

0 个答案:

没有答案