我從coreData開始,我有疑問。CoreData - 關於何時保存
我有一個應用程序,從服務器讀取數據,我解析數據,並得到對象的NSDictionary。
要保存的數據coreData,我這樣做:
for (NSDictionary *activityData in arrayWithResult){
[CompanyActivity createActivityWithInfoFromServer:activityData inManagedObjectContext:self.managedObjectContext];
}
if (![self.managedObjectContext save:&error])
NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
這讀取約300條記錄。方法'createActivityWithInfoFromServer:'檢查是否有該名稱的記錄。如果是這樣,更新數據,如果沒有,創建一個。
問題是,當「for」循環運行時,如果我與用戶界面交互,它將停止保存核心數據,有時並不總是如此。爲什麼?
如果我在週期內採取了SAVE,問題就會消失。
我該怎麼辦?
感謝所有,
RL
你是什麼意思「它停止儲蓄」?你有錯誤嗎?對象是否已創建但未保存? – TechZen
沒有錯誤。我有一個NSLog,它會停止記錄,並且不會創建對象。有時,它會創建168,其他時間,230 ...其他時間,所有這些...... –
您的意思是'arrayWithResult'有x個條目但只有y個被管理對象被保存?您如何知道應該創建和保存多少個對象,如果某些字典可能在Core Data中有重複項? – TechZen