我有两个不同的xml解析器ParserA&解析器B和我正在使用coredata
我从Parser A开始,在那里我检查数据库中是否存在该记录,如果它存在,我更新现有实体,否则我创建一个新实体。
使用Parsing A完成解析后,使用Parser B重复解析并按照相同的过程进行解析。
我的问题是我的应用随机崩溃,当我提取检查现有记录的请求时出现错误“收集集在枚举时发生了变异”
- (Product *)productForId:(NSString*)productId{
Product *produc = nil;
NSManagedObjectContext *managedObjectContext =dataManager.coreDataHelper.context;
NSEntityDescription *entityDescription = [NSEntityDescription
entityForName:@"BSProduct" inManagedObjectContext:managedObjectContext];
[_fetchRequest setEntity:entityDescription];
[_fetchRequest setPredicate:[NSPredicate predicateWithFormat:@"productId == '%@'", productId]];
NSError *error;
NSArray *array = [managedObjectContext executeFetchRequest:_fetchRequest error:&error];
for (Product *prod in [array copy]){
return prod;
}
return produc;
}
它在线崩溃
NSArray *array = [managedObjectContext executeFetchRequest:_fetchRequest error:&error];