2014-06-30 199 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'方法。 –