在Swift中使用MagicalRecord实例化的Downcast CoreData实体

时间:2014-06-30 14:31:13

标签: ios objective-c core-data swift magicalrecord

我的核心数据模型中有以 ICD _ 为前缀的实体。对于每个实体,我有一个以 CD _ 为前缀的子类。以 CD _ 为前缀的子类仅实现静态getter。

当我使用MagicalRecord创建实体时,我必须使用前缀为 ICD _ 而不是 CD _ 的类。否则,我有一个SIGABRT:

  

“+ entityForName:找不到名为'CD_User'的实体   模式“。

如果我将 ICD _ 实体转发到我的 CD_Entity ,它可以在Objective-C中运行。 Swift中的相同内容会导致SIGABRT。这很自然,因为它是分配的父实体,而不是子类,所以通常不可能将它转发。

所以我正在寻找一种解决方案,允许使用带有 CD _ 前缀的子类和MagicalRecord。

1 个答案:

答案 0 :(得分:0)

您的数据模型未正确加载,或者您使用的名称不正确来访问实体。您可以使用-entitiesByName method on NSManagedObjectModel

查看数据模型包含的名称