我首次創建了核心數據應用程序。它運行良好。我使用Web服務(使用AFNetworking)創建了所有帶有數據的對象。我的物體都已建成。 所以,現在我想知道什麼是預加載數據的最佳方式。 (Web服務>核心數據>我的看法) 暫時,這很簡單,但絕對沒有人性,這是這樣的:如何使用核心數據預加載數據
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[ManagedMember loadDataFromWebService];
[ManagedLesson loadDataFromWebService];
[ManagedThematic loadDataFromWebService];
[ManagedNew loadDataFromWebService];
[ManagedProject loadDataFromWebService];
return YES;
}
loadDataFromWebService是調用連續兩個函數的函數。 (刪除核心數據對象中的所有數據並重新創建運行良好的對象) 所以,我想知道我可以在哪裏調用這5個函數?像許多iOS應用程序一樣,在啓動屏幕中是否可以裝載加載程序?或者創建一個加載數據的中間視圖。
非常感謝。
您不能在「didFinishLaunchingWithOptions」方法中預加載數據,我認爲您應該將該代碼放在rootviewcontroller的「viewDidLoad」方法中。 –
是的,我試過了,但是每次進入視圖時都會重新加載數據。 – Benjamin
你可以在viewDidLoad(或其他方法)中做到這一點,但你會想設置一個標誌,所以它不會嘗試再次加載數據。如果這個數據只在第一次加載時加載一次,請在NSUserDefaults中設置一個標誌。否則,如果在每次打開應用程序時調用一次,只需設置一個BOOL並檢查它以確保它不再被調用。 – Ryan