2014-06-30 197 views
3

與MagicalRecord實例化的低迷現狀,CoreData實體我有實體前綴ICD_在我的核心數據模型。對於每一個實體,我有一個帶有前綴CD_一個子類。前綴爲CD_的子類僅實現靜態獲取器。斯威夫特

當我創建MagicalRecord一個實體,我必須使用與ICD_爲前綴的類不能與CD_。否則,我已經有了一個SIGABRT:

「+ entityForName:本 模型無法找到名爲‘CD_User’實體」

如果我垂頭喪氣我ICD_實體到我的CD_Entity它工作在Objective-C。在Swift中同樣的事情會導致一個SIGABRT。這很自然,因爲它是分配的父實體,而不是子類,所以通常不可能下注它。

所以我正在尋找一個解決方案,允許我的子類使用前綴爲CD_與MagicalRecord。

+0

如果你的'CD_ *'子類實現靜態getter和不出意外的話,爲什麼你永遠需要垂頭喪氣什麼名字? – NRitH

+0

我同意你在Objective-C中的工作原理,但是在Swift中它會導致一個SIGABRT。 –

+0

這聽起來像Obj-C中的一個bug,而Swift正確處理它。 – NRitH

回答

0

無論你的數據模型不正確加載,或者您使用的是不正確的名稱來訪問的實體。你可以看到你的數據模型包含通過使用-entitiesByName method on NSManagedObjectModel

+0

我知道我的核心數據模型中的實體是用* ICD_ *前綴命名的。例如* ICD_User *,* ICD_Basket *等等...對於每個實體,我都有以* CD_ *爲前綴的子類。例如:* CD_User *,* CD_Basket *。要用MagicalRecord創建一個實體,我必須調用方法'MR_createEntity',其中的類前綴爲* ICD_ *。但是我想實例化* CD_ *類而不是* ICD_ *類。我該如何使用MagicalRecord來做到這一點? –

+0

所以我想,我不需要使用'-entitiesByName'方法。 –