2011-08-18 43 views
1

我想知道是否有一種很好的方法可以使用iOS核心數據將Thrift結構保存到文件/ SQLite中。使用核心數據將Thrift結構保存到文件

一種方法是在Thrift聲明和核心數據中的實體之間手動進行映射,但這是很多工作,並且不容易維護。

第二個想法是將Thrift作爲二進制數據字段保存在實體中。

有沒有更優雅的方式?例如,一個圖書館接受Thrift並負責這項業務?

謝謝 的Silviu

+0

嗨silviu!您是否找到了一些解決方案,可能是寫了orm或者找到了解決方法? – xtmq

回答

0

您可以使用NSValue to wrap structures.反過來,NSValue objects can be stored in a transformable attribute.

但是,如果你要搜索或核心數據中的操作結構的內容,那麼你應該將結構作爲一個模型實體並在自定義子類中提供一個方法以根據需要返回結構體。

+0

感謝您的回覆,但我沒有看到您的建議和我的第二個想法之間的明顯區別。我最終做的是創建一個實體,該實體具有用於我的搜索條件的屬性和另一個用於Thrift結構的編碼版本的屬性。 – silviu

+0

沒有任何現有的圖書館最有可能,因爲它不值得的努力。保存爲NSValue允許您訪問部分結構而無需進一步轉換。這是API中的首選方式。 NSValue主要用於包裝各種標量值。我幾乎總是創建一個實體,因爲通常需要獲取或搜索結構成員的值 – TechZen