2012-02-19 166 views
4

我想在覈心數據的「客戶」實體中存儲ABRecordRef。在覈心數據中存儲ABRecordRef

我已經在蘋果文檔中看到ABRecordRef是一個原始的C數據類型。據我所知,你只能在核心數據中插入對象。考慮到這一點,將其存儲在覈心數據中的最佳方式是什麼?

我想過把它轉換成存儲的NSNumber,但不知道如何將它轉換回ABRecordRef使用。

我還以爲我可以把它放在一個NSArray/NSSet/NSDictionary自己只是作爲一個包裝,但不知道這是愚蠢/效率低下甚至會工作。

想法感激。

非常感謝

回答

12

在我的應用程序之一,我只是存儲在ABRecordGetRecordID()作爲CoreData商店INT32(因爲一個ABRecordID是int32_t),並保存在聯繫人姓名與CoreData商店快速顯示目的。這樣Record記錄信息被存儲在它所屬的AddressBook中,並且你剛剛在你的CoreData存儲中存儲了一個「指針」。

然後,您可以在自定義客戶端NSManagedObject中創建方便的包裝訪問器,將C調用包裝到AB框架以滿足您的需求。