核心數據DB在我的應用我店以這種方式從JSON文件中的數據(它是一種身份的一個例子)的iOS:更新從JSON
NSManagedObjectContext *context = [self managedObjectContext];
for (id element in array){
NSLog(@"element:%@", element);
Str *str = [NSEntityDescription insertNewObjectForEntityForName:@"Str" inManagedObjectContext:context];
Id_loc *loc = [NSEntityDescription insertNewObjectForEntityForName:@"Id_loc" inManagedObjectContext:context];
loc.id_loc = @"id_1";
[str addLocObject:loc];
}
的問題是,我解析此JSON每從網絡服務的一天;所以它每天都可以改變其「Str」身份(我的JSON的一個對象)的數據和數量。 問題是,有什麼更好的解決方案來更新我的核心數據庫? 我有兩種可能性:
1-更新我的DB與NSFetchRequest,檢查是否存在一個元素,並更新它;如果它不存在,我應該創建它。最後,如果一個對象不在JSON中,但它在我的核心數據庫中,我應該刪除它,這是一系列複雜的控件。
2-刪除所有核心數據數據庫,並用新的JSON文件重新填充。
在您看來,更好的選擇是什麼?
我說你在我的應用我只能看我的數據庫,我也不需要刪除或修改它,當我使用它。
好的,謝謝你,因爲@Wain寫道,你更喜歡第一選擇,那麼我應該問你一些圖書館或教程鏈接,申請這個,你有任何資源? – CrazyDev
對於CoreData本身,我認爲最好的是http://www.raywenderlich.com/934/core-data-tutorial-for-ios-getting-started。其他問題對於您的應用程序而言非常具體 - 取決於您希望如何實施更新。我會建議與父母孩子MOCs和後臺線程中運行它。它爲UI和主線程提供了非常簡單的更新邏輯。 –