2010-02-12 72 views
1

例如:我從XML文件讀取數據。這些數據具有唯一的id元素。我想用這些對象的原始唯一標識來存儲這些對象。我會怎麼做?我可以告訴Core Data在保存時使用y對象的特定唯一ID嗎?

我想通了,我可以要求管理對象爲它的ID,像這樣:

NSManagedObjectID *moID = [managedObject objectID]; 

但這裏的問題是:該XML告訴我的id要素對象,這是和我需要在覈心數據的數據庫中查找該對象是否已經存在或不存在。那麼是唯一的選擇在我的託管對象模型中爲該實體創建一個id屬性,然後查詢它嗎?那麼我會有兩個ID系統嗎?

回答

6

不要擔心Core Data的ObjectID。這是一個內部唯一ID,不保證在對象的生命週期中保持不變(例如,當將對象保存到SQL存儲庫時它會改變)。只需在您的模型中創建一個新的強制屬性並將其標記爲索引,以便快速檢索。

1

在與此類對象關聯的實體中,只需添加另一個字符串類型的屬性,將其稱爲objectID或類似對象,並將其聲明爲強制。

+0

我不明白。你能給個例子嗎? – dontWatchMyProfile 2010-02-12 09:47:10

+0

打開你的核心數據模型,選擇你的實體並添加一個新的屬性,正如我告訴你的。請注意,Diederick解釋的ObjectID與您想要實現的內容無關:將您自己的個人ID分配給您的對象。當你插入一個新的對象時,你使用你自己的字符串來設置ID屬性,這個字符串可以唯一地標識出你的目的。 – 2010-02-12 10:00:08

+0

謝謝。爲了做到這一點:我只需創建一個字符串類型的屬性(就像firstName一樣),並將其標記爲「索引」,以便快速查找它。我不會關心核心數據產生的那個「隨機」ID。對? – dontWatchMyProfile 2010-02-12 11:40:14

相關問題