2012-06-27 53 views
1

在我的應用程序中,我有這種場景,我需要將對象發佈到遠程服務器並獲取對象關鍵字,然後在本地存儲對象。我的應用程序中實現了Core數據和Restkit。用Restkit創建核心數據臨時對象的更好方法

對象值是從用戶輸入中收集的。我找不到一個好的方法來準備對象,然後將其發佈到遠程服務器。這個對象是一個NSManagedObject類型的實體,我不想在從服務器獲取對象ID之前存儲它。

我遇到了this,建議使用瞬態對象來處理這種情況。但正如該線程所討論的那樣,這會導致代碼維護問題。

有沒有更好的方法來處理這種情況?謝謝。

回答

3

使您的核心數據模型類遵守RKRequestSerializable協議。

然後,當用戶輸入驗證,創建一個正常的實體,並將其設置爲RKRequest的參數值,這將發送您的對象作爲HTTP身體。以RKParams.m爲例,

還將新創建的實體設置爲RKObjectLoader的targetObject。這樣,當您的Web服務返回信息(如新的唯一ID)時,它將定位新對象並將新唯一ID保存到此對象,而不會創建副本。

清澈如泥?

PS:哦,小心將自動生成的核心數據類與自定義代碼混合!我建議mogen可以幫助您在每次進行更改時都不會丟失代碼。

+0

我相信RestKit 0.20,現在應該通過創建RKEntityMapping並將參數「identificationAttributes」設置爲本地存儲的(遠程)標識參數來自動處理 – Diego