我有大量数据,使用Core Data Framework保存。总是有很多更新需要做。问题是这些更新需要花费太多时间。
原因是对于我的数据库中的每个条目,我必须进行查询以获取相应的NSObjectModel,然后更新其属性。因为要浏览的数据很多,所以需要花费很多时间。如果我只创建新对象并将它们插入到我的数据库中,这会花费更少的时间,这当然是有道理的。
所以我的问题是,如果有更有效的方法来做到这一点,因为我真的在谈论分钟,而不是秒。
就像我说的,我必须经常从数据库中获取对象。您可以在下面的代码中看到它。也许这有助于了解我的问题所在:
while (additiveElement != nil) {
//Get Product
Product *product = [Product productWithID:additivID inManagedObjectContext:self.managedObjectContext];
//Get ProductLanguage
ProductLanguage *productLanguage = [ProductLanguage productLanguageWithLanguage:self.currentLanguage andProductID:additivID inManagedObjectContext:self.managedObjectContext];
productLanguage.language = self.languageEntity;
product.productID = additivID;
productLanguage.name = additivName;
productLanguage.text = additivText;
productLanguage.product = product;
product.productFamily = [ProductFamily familyWithID:additivFamilyID inManagedObjectContext:self.managedObjectContext];
if (productFiles != nil) {
File *file = [File fileWithName:fileName inManagedObjectContext:self.managedObjectContext];
file.fileName = fileName;
file.fileSize = fileSize;
file.fileDateNew = fileDate;
file.fileType = fileType;
file.language = [Language languageWithAbbreviation:@"en" inManagedObjectContext:self.managedObjectContext];
}
}