iOS核心数据插入
我有一个应用程序,它异步下载一个JSON文件,然后将这些对象插入到核心数据中进行持久存储。关于插入,从主线程开始插入是一个好主意吗?如果有成千上万的物体呢?我应该在不同的螺纹上插入吗?你能给我一些关于这件事的片段吗?关于在保存对象后获取它们,我是否也应该使用不同的线程 我插入核心数据的代码是:iOS核心数据插入,ios,objective-c,core-data,Ios,Objective C,Core Data,我有一个应用程序,它异步下载一个JSON文件,然后将这些对象插入到核心数据中进行持久存储。关于插入,从主线程开始插入是一个好主意吗?如果有成千上万的物体呢?我应该在不同的螺纹上插入吗?你能给我一些关于这件事的片段吗?关于在保存对象后获取它们,我是否也应该使用不同的线程 我插入核心数据的代码是: - (void) insertObjects:(NSArray*)objects ofEntity:(NSString *)entityName { NSString *key; NSMa
- (void) insertObjects:(NSArray*)objects ofEntity:(NSString *)entityName
{
NSString *key;
NSManagedObject *managedObject;
NSError *error;
for(NSDictionary *dict in objects){
managedObject = [NSEntityDescription insertNewObjectForEntityForName:entityName inManagedObjectContext:_managedObjectContext];
for(key in dict){
[managedObject setValue:dict[key] forKey:key];
}
}
[_managedObjectContext save:&error];
}
PS:对象是同一实体。该项目在iOS 7.0或更高版本上运行。因为我还不能发表评论 您计划支持哪些iOS版本?如果是5或更高,这可能会有所帮助 链接摘要: 创建私有concurreny类型的上下文以访问物理数据 在此基础上创建一个主concurreny类型的上下文 除此之外,您还可以再次使用私有并发类型存储 不要忘记在每个商店中保存,否则,数据似乎在应用程序运行时保存,但在重新启动后丢失
是的,您需要一个额外的线程来执行此操作,因为如果项目太多,它会阻塞UI。您可以始终使用辅助上下文进行获取。对于少量的数据,这是不必要的,但也不会造成伤害。