我是Swift&Firebase的新手,我还没有真正了解它。目前,我正在考虑添加一个数据库来存储数据,以便用户在设备切换时获取。
到目前为止,我已经用UserDefaults
存储了数据。现在,我可能会使用数据库,我是否还需要UserDefaults
?如果用户在同步其在线数据之前无法连接互联网并关闭应用程序该怎么办-会有数据丢失的危险吗?
还是最好同时保留UserDefaults
和数据库?
答案 0 :(得分:0)
Apple文档中的UserDefaults
:
用户默认数据库的接口,您可以在其中存储应用程序启动期间的键值对。 https://developer.apple.com/documentation/foundation/userdefaults
UserDefaults
是在应用程序会话之间保持唯一值的绝佳解决方案。例如用户设置,首选项(简单的虚拟数据)。
要在2台设备之间共享数据,可以使用Firebase Storage。另一种选择是CloudKit。
同步-这更多地是关于您需要什么以及如何处理它的信息。您可以基于在线数据,因此无需进行同步(您始终处于最新状态)。或进行定期同步,但是您需要考虑本地数据库的最佳解决方案。
答案 1 :(得分:0)
这取决于您在做什么。使用用户默认值当然可以保留默认值,但不能保留信息。如果2个人使用同一设备怎么办,那么您为一个用户设置了用户默认值,而为另一个用户设置了数据库。我个人只会用一个。如果您正在学习Firebase,我将建议2个教程: https://www.youtube.com/watch?v=F42CzqIBxHQ&t=406s
https://www.youtube.com/watch?v=RMudKhNY0sI&t=627s
以及我刚刚回答的有关读取和写入安全数据库的问题:User already authenticated in app and Firebase realtime database returns failed: permission_denied