ios - 在 Swift 中使用 MagicalRecord 实例化的向下转换 CoreData 实体

标签 ios objective-c core-data swift magicalrecord

我的核心数据模型中有以 ICD_ 为前缀的实体。对于每个实体,我都有一个以 CD_ 为前缀的子类。以 CD_ 为前缀的子类只实现静态 getter。

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

"+entityForName: could not locate an entity named 'CD_User' in this model."

如果我将我的 ICD_ 实体向下转换为我的 CD_Entity 它在 Objective-C 中工作。 Swift 中同样的事情会导致 SIGABRT。这是很自然的,因为分配的是父实体,而不是子类,所以通常不可能向下转型。

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

最佳答案

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

关于ios - 在 Swift 中使用 MagicalRecord 实例化的向下转换 CoreData 实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24492523/

相关文章:

ios - 模块 'SocketIO' 未使用库进化支持进行编译;使用它意味着无法保证框架的二进制兼容性

ios - 步长不均匀的 UISlider。

ios - NSManagedObjectContext:如何从 UIViewController 获取 iOS 中的 ManagedObjectContext?

ios - MPMoviePlayerController 阻塞主线程

ios - AWS : Play Custom Sound When Push Messages are received

ios - dismissViewControllerAnimated 自定义动画

iphone - 开始录音时发出提示音

ios - 类型 'AnyObject' 不符合协议(protocol) 'NSFetchRequestResult'

objective-c - 对核心数据对象的引用应该是强引用还是弱引用?

ios - ios 9.3.1 上 phonegap 应用程序中的 iframe