2017-02-17 42 views
0

我想知道在IOS斯威夫特火力地堡CRUD方法,如果這是最好的做法,是否會引起任何問題,我的IOS應用程序快捷,請注意,這是我第一次創造了全豐富的IOS應用程序,我主要有一個Web應用程序背景。使用的appdelegate爲所有人創造viewcontrollers

我注意到我正在爲不同功能(聊天,匹配用戶,顯示用戶和Facebook朋友的信息)以及使用Firebase進行CRUD任務,因爲我很容易存儲我的實時數據,對於每個ViewControllers,我都有類似的功能來提取或更新Firebase數據,但使用不同的數據。

我也注意到,我可以使用以前在通過UIApplication類的AppDelegate.swift文件中聲明功能。我可以在AppDelegate.swift中事先使用工廠樣式聲明函數(即:如果獲取這些數據,否則如果獲取其他數據),然後調用我的這些方法其他ViewControllers?

我主要關注的是我對AppDelegate的一般不熟悉,我知道我該如何實現這一點,並且AppDelegate像通知中心一樣運行,但是會出現延遲或數據丟失?

請注意,這主要是因爲我試圖重構並在某種程度上清理了我的代碼,並且我注意到,只是更改Firebase的數據結構可能會對這些功能的獲取和更新數據產生負面影響,而且這會更容易從一個位置而不是所有ViewController中更改函數。

+0

你應該創建一個單獨的系統來處理網絡請求。絕對不要放在AppDelegate中。查看Alamofire路由器設置或Moya框架的一些很好的例子。可能需要更長的時間來建立,但將會使你的代碼更清潔 – JustinM

+0

事情是這樣的:https://github.com/Alamofire/Alamofire#crud--authorization? Moya更受歡迎嗎?它已經從它的樣子 – mding5692

+0

這真是你的一部分,我剛剛上市的一些例子來看看偏好的Alamofire層。你也可以創建一個類來保存你的網絡功能,如果你想讓它成爲一個單身人士。在這裏有很多東西可以查看關於這個主題,但至少你應該有一個單獨的類來保存你的網絡代碼,這樣就可以在一個地方完成,而且不會在多個視圖控制器中重寫相同的代碼。 Moya使用alamofire來提出請求,它做的是組織如何設置請求。這是一個更先進一點,雖然 – JustinM

回答

0

感謝JustinM(請參閱上述註釋),我使用https://github.com/Moya/Moya創建了一個FirebaseDB.swift圖層,該圖層用作查詢和存儲用戶數據等到Firebase中的單層圖層。沒有訴諸使用AppDelegate.swift

相關問題