【发布时间】:2017-02-27 09:20:39
【问题描述】:
我正在寻找一种干净的方式来在 Swift 中从 Firebase 检索(有时是保存)数据。我所有的数据库调用都写在视图控制器代码的中间,这让我很恼火。所以我正在寻找某种自定义数据服务类。我发现本教程与我想要的很接近:http://www.mobilecyberpunks.com/?p=82。
他们承诺了第二部分,但我找不到第二部分,所以我猜这从未制作过。在第二部分中,他们承诺使用此自定义数据服务检索和保存数据(这对我来说是整个事情中最重要的部分)。
我正在考虑一个 API 类(如教程中所示),当我检索数据并完成从 firebase 检索时,我将其保存在此 api 类的数据集中。然后我将在通知中心发布通知。但我不确定这是否是最佳做法或这样做的好方法。
有谁知道如何做到这一点(完成我找到的本教程或以其他方式)?
提前致谢!
【问题讨论】:
-
确实很有趣的问题,期待答案。一个有趣的后续问题是实现后端服务独立性的策略,以便您可以在应用程序中使用自定义后端 API,并且可以将其配置为使用 Firebase、Parse、Backendless 或任何其他服务。
-
看来你没看错,你到底在找什么?如何在 firebase 类与您的 viewControllers 之间进行通信?
-
@Dravidian 是的,这是正确的。我正在寻找一种在 Firebase 类与我的 ViewController 之间进行通信的方法,但要摆脱 Firebase 方法的所有回调。将这些方法包装在一个单独的类中。该类包含例如一个方法 getUsers() -> [User] 或只是 getUsers (虽然第一个是首选)。
-
@xpereta 我为此制定了一个方便的结构(问题的第一部分:自定义数据服务类)。有关代码,请参阅我发布的已接受答案。对于您的后续问题:非常有趣,但目前为 Parse 配置此功能将毫无用处,因为 Parse 将于 2017 年 1 月关闭。我没有尝试过其他服务,因为 Firebase 拥有我需要的一切到目前为止。但如果它遇到我的工作,并且我开发了这样的结构,我会让你(和其他所有人)在这个页面上发布!
标签: ios swift firebase firebase-realtime-database firebase-authentication