2015-11-13 93 views
2

我是新來的ios開發人員(或一般的移動客戶端開發人員)。我有後端數據庫,每當我的模型從客戶端更新時需要更新。我還將數據保存在離線/緩存的核心數據中。保存核心數據或保存後端數據庫,應該先完成?

我想知道在更新核心數據和後端數據時是否可以引導我學習最佳實踐。現在,我所做的是使用Alamofire發送http請求,然後在成功回調中更新核心數據,然後客戶端重新加載核心數據以顯示更新已完成。但是這似乎沒有效率,因爲我必須等到請求完成。在另一方面,如果我只是繼續和更新的核心數據,並更新後端數據在後臺顯示結果到用戶後,請求可能會失敗......

回答

0

Store中lastChangedlastSynchronised日期每個對象上。每當您對同步對象進行更改時,都會更新lastChangedlastSynchronised更新來自服務器的成功響應。

現在,當您進行更改時,您知道它是否同步,因此它是否變髒或是對已髒對象的另一更新。

當您有互聯網連接時,您可以找到所有髒對象並嘗試同步它們。

唯一的複雜性是正在進行同步時應用的更新。你需要注意,你沒有一個應該被弄髒但是被標記爲同步的對象。這可以通過在同步過程中'鎖定'對象來完成,也可以通過比較服務器響應和成功對象以驗證匹配來完成。