CoreData,数据处理分几个步骤

时间:2011-03-08 10:08:25

标签: core-data data-migration

我有大量的文本文件需要处理并将内容放入核心数据中。文本文件包含许多无用的信息,并且可以包含有用数据的重复项。所以我决定分几步进行导入。

首先,我删除所有无用的部分并生成只有某些分隔符分隔的有用位的字符串。然后我将这些字符串中的每一个放入托管对象中,首先确保存储不包含具有该特定字符串的对象,因此我确保它们中的每一个都是唯一的。

好吧,我已经完成了第一步,现在我必须继续前进,但不知道如何去做:

我必须通过分隔符拆分这些字符串,创建相应的对象并保存在不同的文件中。

我该怎么做? 按理说我必须创建一个新的数据模型,但是如何在解析后将其保存为单独的文件?

我想这样做是从一个数据模型版本迁移到另一个版本,但这些文本文件是每天生成的,看起来不是一个好主意。

请给我一个提示或指导我一些手册。 (我还在读Zarra先生的书,还没有找到任何类似的东西)。

提前谢谢你, 提莫菲

1 个答案:

答案 0 :(得分:1)

好吧,听起来你实际上需要每个都有不同中心实体的数据模型。首先,处理原始文本并生成字符串,然后需要将该字符串转换为具有多个属性的实际数据对象。因此,我们可以调用第一个实体Preprocessed和第二个Processed

Core Data允许您在同一个managedObjectContext中使用多个数据模型甚至多个存储。要做的关键是配置。将每个实体分配给它自己的配置并将每个配置分配给它自己的存储(有关详细信息,请参阅文档。)如果两个实体位于相同的上下文中,则可以轻松地以受控方式将数据从一个实体移动到另一个实体。 (注意,您不能在不同配置中的对象之间形成直接关系,但其他所有内容,包括获取的关系仍然有效。)

要使用,您首先要阅读原始文本并创建Preprocessed个对象。如果需要,您可以对Processed对象进行提取以防止重复。然后,您有一个方法可以使用现有Processed对象中的数据填充新的Preprocessed对象。

保存时,Processed对象进入一个持久性存储文件,Preprocessed进入另一个。您可以删除Preprocessed而不影响Processed个对象,反之亦然。