2011-03-08 21 views
0

我有大量的文本文件,我必須處理並將內容放入核心數據。文本文件包含大量無用的信息,並可包含有用數據的重複項。所以我決定在幾個步驟中進行導入。CoreData,在幾個步驟中的數據處理

首先,我刪除所有無用的部分,並生成只有有用位由特定分隔符分隔的字符串。然後,我將這些字符串中的每一個放入托管對象中,首先確保存儲器不包含具有該特定字符串的對象,因此我確保它們中的每一個都是唯一的。

好了,我已經完成了第一步,現在我必須繼續前進,但不知道如何去了解它:

我必須用分隔拆分這些字符串,創建相應的對象,保存在不同的文件中。

我該怎麼做? 這意味着我必須創建一個新的數據模型,但是如何在解析後將其保存爲單獨的文件?

我認爲這樣做是從一個數據模型版本遷移到另一個數據模型版本,但這些文本文件是每天生成的,它看起來不是一個好主意。

請給我一個提示或指導我一些關於這方面的手冊。 (我還在讀Zarra先生的書,在那裏還沒有發現任何此類的東西)。

謝謝你在前進, 提莫菲

回答

1

好吧,這聽起來像你真正需要的數據模型每一個不同的中央實體。首先,處理原始文本並生成一個字符串,然後您需要將該字符串轉換爲具有多個屬性的實際數據對象。所以,讓我們打電話給第一個實體Preprocessed和第二個Processed

Core Data允許您在同一個managedObjectContext中使用多個數據模型甚至多個存儲。做的關鍵是配置。將每個實體分配給它自己的配置,並將每個配置分配給它自己的存儲(有關詳細信息,請參閱文檔)。兩個實體處於相同的上下文中,可以輕鬆地以受控方式將數據從一個實體移動到另一個實體。 (請注意,您不能形成在不同的配置對象,但其他一切,包括獲取的關係仍然工作之間的直接關係。)

聘請,你會先閱讀的原始文本,並創建您的Preprocessed對象。如果需要,您可以取Processed對象來防止重複。然後,您可以使用現有的Preprocessed對象中的數據填充新對象Processed

保存時,Processed對象會進入一個持久性存儲文件,而Preprocessed會進入另一個持久性存儲文件。您可以刪除Preprocessed而不影響Processed對象,反之亦然。