2
我的應用程序已設置好,當它第一次使用時,它會從基於Web的xml源下載所需的數據。更新核心數據數據庫的正確方法
用戶還可以選擇通過設置定期刷新數據。
當他們這樣做時,我想刪除現有數據庫,然後通過我用於第一次加載的代碼重新創建它。
我讀到,簡單地刪除數據庫不是正確的方法來做到這一點,所以我使用以下在加載新數據集之前銷燬數據。
- (void)resetApplicationModel {
NSURL *_storeURL = [NSURL fileURLWithPath: [[self applicationDocumentsDirectory] stringByAppendingPathComponent: DBSTORE]];
NSPersistentStore *_store = [persistentStoreCoordinator persistentStoreForURL:_storeURL];
[persistentStoreCoordinator removePersistentStore:_store error:nil];
[[NSFileManager defaultManager] removeItemAtPath:_storeURL.path error:nil];
[persistentStoreCoordinator release], persistentStoreCoordinator = nil;
}
然而,這並不正常工作,執行數據刷新時,下載數據,但不能將其保存到數據庫中,並生成在控制檯下面的錯誤;
此NSPersistentStoreCoordinator沒有持久性存儲。它不能執行保存操作。
刷新數據庫的「正確」方式是什麼?
我認爲「if(array == nil)」應該是「if(array!= nil)」 – 2011-03-01 01:00:37