使用Appdelegate为所有viewcontrollers

时间:2017-02-17 03:31:05

标签: ios iphone swift firebase appdelegate

我想知道这是否是最佳做法,如果它会给我的IOS swift应用程序带来任何问题,请注意这是我第一次创建一个成熟的IOS应用程序,而且我主要有一个Web应用程序背景。< / p>

我注意到我正在为不同的功能(聊天,匹配用户,显示用户和Facebook朋友的信息)和使用Firebase执行CRUD任务,因为我可以轻松存储我的实时数据和每个ViewControllers我有一些类似的功能来拉动或更新Firebase数据,但是数据不同。

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

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

我主要担心的是我对AppDelegate的一般不熟悉,我理解如何实现这一点,AppDelegate像通知中心那样运作,但会有延迟或数据丢失吗?

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

1 个答案:

答案 0 :(得分:0)

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