我目前正在使用Firebase开发聊天应用。 Firebase脱机功能非常有用。目前我对CoreData一无所知,但我开始学习。我的应用程序的工作方式如下:
你写了一条消息 - >它去了firebase - >更新集合视图
我遇到的问题,有时我连接速度非常慢,因此消息需要一段时间才能进入集合视图。
我想让我的应用程序像这样工作:
撰写邮件 - >转到collectionView First - >然后转到firebase - >使用"已发送"
更新消息下的标签现在,当我这样做时,消息将转到collectionView,然后触发firebase并复制消息。
如果我使用逻辑来阻止firebase重复,那么当我离开视图时,消息就会丢失。
现在,我觉得解决我问题的唯一方法是这样做:
发送消息 - >放入coreData - >放入collectionView - >放入firebase - >观察来自firebase的消息 - >如果消息已经在coreData内部,则不重复。
所以问题是,是否有更简单的方法可以使用/不使用coredata?
如果我必须使用coredata,我应该关注什么,我读到某个地方,我需要两个上下文,父母和一个孩子,一个在UI的主队列上工作,另一个在从firebase获取消息的背景,我是在正确的轨道上吗? (对于长期缺乏经验的问题感到抱歉)
答案 0 :(得分:-2)
您可以将消息作为数组存储到Singleton,而不是Core Data。 在我的情况下,它的工作速度非常快,延迟使用Firebase Chat也没有问题。 我相信您必须使用JSQMessagesViewController进行聊天视图。