首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将Firebase对象持久化到iOS中的磁盘?

如何将Firebase对象持久化到iOS中的磁盘?
EN

Stack Overflow用户
提问于 2014-06-27 08:15:14
回答 3查看 2.7K关注 0票数 2

Firebase iOS实现似乎不支持客户端模型的脱机缓存。这在实践中意味着:

  • 对于需要身份验证的Firebase应用程序,您需要先验证并等待Firebase完成登录(检查用户身份、打开套接字等)。在你开始移动数据之前。这需要1-8秒(通常是2-5秒),这取决于网络条件,至少在芬兰是这样。
  • 身份验证之后,Firebase首先下载初始数据集并初始化客户端缓存。执行此操作的时间取决于为其添加侦听器的数据的大小,但它通常相当快。

这里的问题是,如果您使用Firebase来实现(例如消息传递应用程序),那么您很可能希望在建立与后端服务器的实际连接之前,向用户展示以前缓存的消息线程和消息版本。

我假设正确的实现将需要处理:

  1. 客户端模型<-> Firebase JSON映射(为此我使用Mantle )
  2. 将客户端模型持久化到磁盘(使用NSKeyedArchiver或核心数据之类的手动实现?)
  3. 当连接可用时,将磁盘上模型与内存中的Firebase链接模型同步(手动实现?)

有没有人想出一个解决方案(自己或第三方)来实现2和3)?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-01-19 23:24:15

自从这个问题被提出以来,Firebase似乎已经解决了这个问题。现在离线能力上有很多资源,其中包括磁盘持久化

对我来说,启动持久性就像在我的AppDelegate中一样简单:

代码语言:javascript
复制
Firebase.defaultConfig().persistenceEnabled = true

假设您的应用程序已经运行了至少一次互联网连接,这应该可以很好地加载您的数据的最新本地副本。

票数 5
EN

Stack Overflow用户

发布于 2014-06-27 14:59:50

在这里描述的iOS客户端中有一个测试版本的这种技术:https://groups.google.com/forum/#!topic/firebase-talk/0evB8s5ELmw给它一个尝试,让小组知道它是如何进行的。

票数 3
EN

Stack Overflow用户

发布于 2016-12-24 17:00:53

iOS中的Firebase持久化只需一行

代码语言:javascript
复制
    FIRDatabase.database().persistenceEnabled = true

可以找到在Firebase文档中

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24447085

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档