我想知道这是否是最佳实践,是否会对IOS swift应用造成任何问题,请注意,这是我首次创建功能完善的IOS应用,并且我主要具有Web应用背景。

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

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

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

我主要关心的是我对AppDelegate的总体不熟悉,我了解如何实现这一点,并且AppDelegate的运行方式类似于通知中心,但是会出现延迟或数据丢失吗?

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

最佳答案

感谢JustinM(请参阅上面的注释),我使用https://github.com/Moya/Moya创建了FirebaseDB.swift层,该层用作查询和将用户数据等存储到Firebase中的一层。不必诉诸使用AppDelegate.swift

07-24 09:47
查看更多