2013-01-07 89 views
0

我正在構建一個不斷對webservice說話的應用程序。所以一直在發佈和獲取數據。但是我發佈和獲取的所有數據都應該保存在手機中。使用restkit和核心數據的最佳做法

問題1

當我在尋找通過例子。我看到他們正在載入appDelegate中的所有數據。要加載少量數據,這可能是最好的方法。但在我的情況下,它仍然是最好的方法,或者我應該這樣做ViewController Level

問題2

當我開始我檢查使用核心數據的應用程序這產生了大量的代碼,我在appDelegate。但在這種情況下,我無法在viewController Level上得到我的managedObjectContext,對不對?

我的問題是,現在最好的方法是什麼才能正確完成這個任務?

親切的問候

回答

0

問題1

當我在尋找通過例子。我看到他們正在加載appDelegate中的所有數據。要加載少量數據,這可能是最好的方法。但在我的情況下,它仍然是最好的方式,或者我應該在ViewController級別上執行此操作。

使用appDelegate是典型的示例代碼。

如何最好地處理,嚴格取決於您的應用程序。與使用應用程序委託相比,將數據傳輸封裝到視圖控制器當然是一個進步。但是,根據你的應用程序,你也可以設計一個更具體的數據加載控制器來封裝所有相關的行爲。事實上,我認爲後者的選擇對於相對簡單的項目來說效果最好。

問題2

當我開始我檢查使用的核心數據這產生了大量的代碼,我在的appDelegate應用。但在這種情況下,我無法在viewController Level上訪問我的managedObjectContext,對吧?

如果你看看appDelegate.h文件,你應該找到屬性從你的控制器訪問核心數據:

@property (readonly, strong, nonatomic) NSManagedObjectContext *managedObjectContext; 
@property (readonly, strong, nonatomic) NSManagedObjectModel *managedObjectModel; 
@property (readonly, strong, nonatomic) NSPersistentStoreCoordinator *persistentStoreCoordinator; 

你可以使用通過[UIApplication sharedApplication].delegate訪問管理對象上下文或者你可以因素將應用程序委託編碼到您自己的模型管理器類中。同樣,這嚴格取決於您的應用程序。有些應用程序只使用1個託管對象上下文,處理更多的應用程序等。如果您的應用程序對核心數據的使用非常基本,則可以保持原樣。

+0

非常感謝您的回答!這對我幫助很大!但是現在我正在嘗試使用RestKit,但我遇到了以下問題,希望您也可以在這裏幫助我。 HTTP://計算器。com/questions/14196908/restkit-route-error – Steaphann

+0

很高興爲此提供了幫助,但我不知道您遇到的其他問題,我很抱歉... – sergio

相關問題