情景是
目前,我有两个解决方案:
答案 0 :(得分:-1)
我会选择第一个解决方案,即保存托管对象。原因是托管对象ID是跨上下文共享对象的推荐方法。
您可以创建1000个托管对象并分批保存,例如200个。我认为您对性能非常满意。
然后,当对象不再具有时间关键时,您可以在一段时间后删除这些对象。
我也不会真的反对字典方法。要从字典创建托管对象,最明显的方法是为对象类提供一个自定义初始化程序,该初始化程序将一致字典作为参数。
如果您按照指示生成了字典,则键将与托管对象的属性名称相同,因此您只需执行与该解决方案相反的操作。
也许没有单行快捷方式,但是这样的话:
for (NSString *key in dictionary.allKeys) {
[managedObject setValue:dictionary[key] forKey:key];
}