我正在尝试通过核心数据关系将此系列实例添加到一个国家/地区。唯一的问题是我的 NSOrderedSet 变得非常大,并且这种添加方法效率低下,因为我必须将已经存在的整个 NSOrderedSet 加载到内存中(很大)。将其复制到可编辑的副本中,然后添加新实例。比为那个国家设置大的 NSOrderedSet 新的 OrderdSet 并保存它。(顺便说一下,这是我在互联网上找到的一个简单解决方案)
是否可以在不加载与该特定国家/地区关联的整个 NSOrderdSet 的情况下执行此操作?那么只添加新实例而不加载完整列表?
我很抱歉我的含糊解释。我是核心数据概念的新手。
for data in rawData {
//Setup let
let seriesName = data.1.array![1].string!
if let seriesID = Int(data.1.array![0].string!){
if let itemCount = Int(data.1.array![2].string!){
privateMOC.performBlockAndWait{
let serie = NSEntityDescription.insertNewObjectForEntityForName("Series", inManagedObjectContext: privateMOC) as! Series
serie.seriesID = seriesID
serie.seriesName = seriesName
serie.itemCount = itemCount
let series = currentCountry.series!.mutableCopy() as! NSMutableOrderedSet
series.addObject(serie)
currentCountry.series = series.copy() as? NSOrderedSet
do {
try privateMOC.save()
} catch let error as NSError {
print("Could not save \(error), \(error.userInfo)")
}
}
}
}