2011-12-10 55 views
8

我即將編寫一個簡單的iPhone應用程序,使用Core Data存儲通過RESTful Web服務獲取的遠程數據的本地副本。數據變化(新增記錄)經常發生。我遇到了RestKit,我想知道它是否可以做我需要的。我需要的是在開始加載所有記錄,然後定期下載自上次檢查後添加的記錄。顯然,即使簡單地使用NSURLConnection也沒有什麼可以實現的,但我希望RestKit(可能與適當的Web服務結合使用)可以做到這一點,而無需編寫所有的同步邏輯。對我來說,關鍵還在於只有新的/已更改的數據從服務器獲取。與RestKit同步

回答

4

首先:是

RestKit很好地處理了CoreData。你所需要做的就是提供你的實體的映射,併爲你完成工作。

對於選擇性同步的第二件事,我真的建議檢查StorageRoomApp這是一個偉大的,而不是如此昂貴的服務,完全符合您的需求。

他們有一個非常好的API來擴展RestKit,它非常易於使用,並且它們的支持非常棒。看一看。

6

我同意 - RestKit可以做到這一點,我們最近使用它在近期的項目中做了類似的事情。我們使用最後修改日期請求標頭來指示上次成功的「同步」時間,服務器可以使用該時間僅返回自該日期以來修改的記錄。在適當時,使用http 304'未修改'狀態碼來指示沒有改變。

RestKit還包含一個種子設施,所以您可以知道最初的數據集 - 您可以輕鬆地將其作爲初始數據庫進行種子處理,即使在首次使用該應用程序時也可以獲取更新。

關於RestKit & CoreData映射 - https://github.com/RestKit/RestKit/blob/master/Docs/Object%20Mapping.md的一些信息我發現有用,Google組也是一個很好的來源 - https://groups.google.com/group/restkit。希望這一切都有幫助。