【发布时间】:2018-04-11 22:47:18
【问题描述】:
我正在使用NSXMLParser 读取一个大型 XML 文件。获得所需的数据元素后,我将创建一个 NSManagedObject 并将其保存在后台上下文中。导入的文件将有n 的导入项目数,这是未知的。
NSManagedObjectContext *backgroundContext = [ZSSCoreDataManager sharedService].persistentContainer.newBackgroundContext;
[backgroundContext performBlock:^{
// Create and insert new entity here
[self createAndInsertWithDictionary:object];
// Save
if ([backgroundContext hasChanges]) {
NSError *error = nil;
if (![backgroundContext save:&error]) {
NSLog(@"%@", error);
}
// Save was successful, reset to release memory
[backgroundContext reset];
}
}];
因为解析的速度比save: 的完成速度要快,我怎么知道XML 文件何时完成读取并且我的所有Core Data 对象已完成保存?我知道parserDidEndDocument: 方法,但这无助于知道我的所有对象何时完成保存到Core Data。
想法?
【问题讨论】:
标签: ios objective-c core-data nsxmlparser