我使用MagicalRecord將數據導入到大量使用多態性的CoreData模型中。MagicalRecord導入多態關係
例如,一組所有擴展相同抽象實體的具體實體都被用於與另一個類的多對多關係,該類具有在模型中指定爲屬於Abstract類類型的屬性類型,使Set成爲兩種具體類型的混合體。
MagicalRecord不會從導入的數據中生成正確的子實體。
這裏是最簡單的的例子。
我有一個名爲PlantName
的實體,它具有一個names
集合,定義爲NameComponent
。 我有一個抽象實體NameComponent
它有:searchString
,timeStamp
和title
。 它由兩個子實體擴展:CommonName
其中有locale
和LatinName
它有type
。
JSON的相關片段要導入:
"names": [ /* NameComponent(s) */
{"title": "Jade Plant", "locale": "en_us"}, /* CommonName - US English */
{"title": "Crassulaceae", "type":4}, /* LatinName - Family */
{"title": "Crassula", "type":5}, /* LatinName - Genus */
{"title": "Ovata", "type":6} /* LatinName - Species */
]
導入運行後,如果我照的SQLite數據庫,我發現所有的記錄都已經被導入爲抽象類的類型,此外,所有具體的每個具體類的屬性都缺失。
我能找到這個工作的例子的唯一地方是在MagicalRecord的單元測試中。但是,即使這在一個重要的地方也是不同的。測試關係是具體的類型,而我的類型是抽象類。
我認爲這種差異是造成MagicalRecord不能生成單個記錄作爲具體類的原因。
有沒有辦法解決這個問題?
感謝您的回覆。我期待着使用這個功能:-) – Quinny
剛剛遇到這個問題我自己 - 有沒有更新?否則,我將不得不編寫多態關係的支持。 –
如果你這樣做,一定要提交拉請求。 – casademora