【问题标题】:Use my subclass of NSManagedObject as superclass for CoreData Entities使用我的 NSManagedObject 子类作为 CoreData 实体的超类
【发布时间】:2013-03-30 05:28:28
【问题描述】:

是否可以为 CoreData 实体子类配置超类?我想将 NSManagedObject 更改为我的 NSManagedObject 子类。

谢谢

【问题讨论】:

  • 是的,你可以,你可以在核心数据中将一个实体设置为抽象,然后定义它的子类。将尝试查找文档。试试这个...stackoverflow.com/questions/11385306/…
  • 不,我的意思是:1. 子类 NSManagedObject 2. 配置 CoreData,以便在我为实体创建特定类时将我的子类用于所有对象和超类
  • 你为什么要这样做?
  • 在我的应用程序中,我有很多业务实体,但这些实体是字典、销售、约会等,每一种都有自己的基本逻辑,所以我想在超类中实现它
  • 在 NSManagedObjectModel 中设置一个抽象实体,然后将所有实体链接为它的子类,这可能不是一个好主意。因为核心数据会将所有这些子实体映射到一张表中,可能会导致性能问题。

标签: objective-c xcode macos cocoa


【解决方案1】:

您可以将NSManagedObject 子类化并将其设置为类,例如下图中的MyManagedObject,但您仍需为datamodel 中的所有实体设置此项。没有办法设置你自己的托管对象类,它可以用于所有实体,默认它只能是 NSManagedObject。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-07
    • 1970-01-01
    • 2015-02-12
    相关资源
    最近更新 更多