使用 Appdelegate 在 IOS Swift 中为所有视图控制器创建 Firebase CRUD 方法

Using Appdelegate to create methods for Firebase CRUD in IOS Swift for all viewcontrollers

我想知道这是否是最佳做法,是否会对我的 IOS swift 应用程序造成任何问题,请注意,这是我第一次创建完整的 IOS 应用程序,我主要有一个网络应用程序背景。

我注意到我正在为不同的功能(聊天、将用户匹配在一起、显示用户和 facebook 好友的信息)执行 CRUD 任务,并使用 Firebase,因为它很容易存储我的实时数据和对于每个 ViewController,我都有一些类似的功能来提取或更新 Firebase 数据,但数据不同。

我还注意到我可以通过 UIApplication class 使用之前在 AppDelegate.swift 文件中声明的函数。

我的问题是:我可以在 AppDelegate.swift 中使用类似工厂的模式预先声明函数(即:如果获取此数据,否则根据输入获取其他数据),然后调用这些函数我的其他 ViewController 中的方法?

我主要担心的是我对 AppDelegate 普遍不熟悉,我了解如何实现它并且 AppDelegate 像通知中心一样运行,但会出现延迟或数据丢失吗?

请注意,这主要是因为我正在尝试重构并在一定程度上清理我的代码,并且我注意到仅仅更改我的 Firebase 的数据结构可能会对那些获取和更新数据的函数产生负面影响,这会容易得多从单个位置而不是在所有 ViewController 中更改功能。

感谢 JustinM(见上面的评论),我使用 https://github.com/Moya/Moya 创建了一个 FirebaseDB.swift 层,作为一个单独的层来查询用户数据等并将其存储到 Firebase 中。不必求助于 AppDelegate.swift