2012-07-03 53 views
5

我的項目需要緩存從遠程Web服務檢索到的iOS設備數據。例如,視圖控制器會向緩存詢問它所擁有的所有文檔對象,並且在後臺將請求從Web服務進行刷新,並向視圖控制器返回其接收到的任何新文檔對象。我想知道視圖控制器是否可以使用NSFetchedResultsController來檢索符合它在數據庫本地查找的條件的任何對象,並且還異步地要求在後臺從Web服務中刷新數據。這樣做,NSFetchedResultsController會更新數據庫,當然也會觸發FetchedResultsController委託的didChangeObject方法,這樣視圖就可以相應更新。這聽起來合理嗎?你有什麼建議來實施這樣的事情嗎?使用核心數據作爲本地緩存以從遠程Web服務檢索數據

+1

是的,這甚至是典型的解決方案...... – graver

+1

我不希望所有的視圖控制器需要知道從後端的CD回填正在發生,所以我認爲我需要實現的東西,尋找從CD請求什麼,在後臺轉到Web服務以確保CD具有最新版本。 – DarylWM

回答

6

對於我們的項目,我們最終能夠簡化這個問題。然而,在發現之旅中,我們遇到了NSIncrementalStore,它只是問題中提出的問題的憑單。它基本上可以讓您控制CD如何以及在何處保存數據。這裏是a really nice post about itan easy-to-understand example。無可否認,關於它的東西並不多,但這些帖子確實幫助我開始了。