我从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