是否可以向NSManagedObject的子类的子类添加属性?

编码信息

我有一个Base : NSManagedObject由核心数据生成的类,为了向该实体添加一些方法,我用对其进行了子类化Derived : Base现在,我想向类添加一个属性(不在Base类中)Derived但是,当我尝试访问添加的属性的setter时,它将引发异常:

caught "NSInvalidArgumentException", "-[Base setAddedProperty:]: unrecognized selector sent to instance 0x7fdcc31b36d0"

有人可以帮忙吗?

编辑:看来NSManagedObject的子类的子类不能有自己的方法,因为我刚刚向其中添加了一个方法Derived并得到了类似的异常。这是否意味着类别是将方法添加到NSManagedObject子类的唯一方法?

编辑:我将配置中的实体的“类”更改Derived为,现在一切正常。可以访问所有这些新添加的属性,并可以调用自定义方法。为什么?这是一个好习惯吗?

编辑:似乎上述描述被误解了。我打算对核心数据生成的实体类进行子类化,以便提供自定义的方法和属性,而不是创建子实体。因此,Derived不是数据模型中的实体。

编码信息

我解决了这个问题。

在我的.xcdatamodeld文件中,我将Base实体映射Base类。在我的代码中,我通过以下方式创建实例:

Derived* pointer = [Derived MR_createEntity];

此方法NSEntityDescriptor insertNewObjectForEntityForName:inManagedObjectContext为我调用但是,尽管指针的类型为但此方法仍将返回的实例,Base而不是,如果在编译中,则该语法应为语法错误。DerivedDerived*

因此,为了使我的方法Derived有效,我需要手动将映射从更改BaseDerived

编辑:写完这个答案后,我发现了一个很棒的工具生成器,它使用了与我上面描述的完全相同的想法,非常方便。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用纯 JS 向子类添加属性

来自分类Dev

是否可以从父类访问子类的属性?

来自分类Dev

NSmanagedobject的子类的子类

来自分类Dev

子类化NSManagedObject的子类

来自分类Dev

确定NSManagedObject子类的类型

来自分类Dev

NSManagedObject子类重复声明

来自分类Dev

向R6子类添加方法

来自分类Dev

如何在NSManagedObject子类中定义访存属性

来自分类Dev

属性要求在NSManagedObject子类中定义方法

来自分类Dev

SwiftUI如何获取NSManagedObject子类的计算属性的更改

来自分类Dev

NSManagedObject子类的SectionNameKeyPath类别方法可以接受参数吗?

来自分类Dev

从模型文件生成新的NSManagedObject子类时,是否应该检查“对原始数据类型使用标量属性”?

来自分类Dev

如何在子类中添加实例属性?

来自分类Dev

是否可以成为内置类型的虚拟子类?

来自分类Dev

是否可以成为内置类型的虚拟子类?

来自分类Dev

CoreData-NSManagedObject子类的优点

来自分类Dev

无法实例化NSManagedObject的子类

来自分类Dev

executeFetchRequest不返回NSManagedObject子类

来自分类Dev

快速启动失败的NSManagedObject子类

来自分类Dev

executeFetchRequest不返回NSManagedObject子类

来自分类Dev

是否可以使用“ redeclare =” true“”更改子类型的属性类型?

来自分类Dev

是否可以向序列化集合中添加属性?

来自分类Dev

向JavaScript函数添加属性是否可以接受?

来自分类Dev

是否可以在python中向变量添加属性?

来自分类Dev

是否可以在python中向变量添加属性?

来自分类Dev

是否可以向边缘添加自定义属性?

来自分类Dev

iOS / Swift无法向子类添加手势

来自分类Dev

向UINavigationController子类添加自定义按钮

来自分类Dev

Javascript为什么不能向子类原型添加方法?

Related 相关文章

  1. 1

    使用纯 JS 向子类添加属性

  2. 2

    是否可以从父类访问子类的属性?

  3. 3

    NSmanagedobject的子类的子类

  4. 4

    子类化NSManagedObject的子类

  5. 5

    确定NSManagedObject子类的类型

  6. 6

    NSManagedObject子类重复声明

  7. 7

    向R6子类添加方法

  8. 8

    如何在NSManagedObject子类中定义访存属性

  9. 9

    属性要求在NSManagedObject子类中定义方法

  10. 10

    SwiftUI如何获取NSManagedObject子类的计算属性的更改

  11. 11

    NSManagedObject子类的SectionNameKeyPath类别方法可以接受参数吗?

  12. 12

    从模型文件生成新的NSManagedObject子类时,是否应该检查“对原始数据类型使用标量属性”?

  13. 13

    如何在子类中添加实例属性?

  14. 14

    是否可以成为内置类型的虚拟子类?

  15. 15

    是否可以成为内置类型的虚拟子类?

  16. 16

    CoreData-NSManagedObject子类的优点

  17. 17

    无法实例化NSManagedObject的子类

  18. 18

    executeFetchRequest不返回NSManagedObject子类

  19. 19

    快速启动失败的NSManagedObject子类

  20. 20

    executeFetchRequest不返回NSManagedObject子类

  21. 21

    是否可以使用“ redeclare =” true“”更改子类型的属性类型?

  22. 22

    是否可以向序列化集合中添加属性?

  23. 23

    向JavaScript函数添加属性是否可以接受?

  24. 24

    是否可以在python中向变量添加属性?

  25. 25

    是否可以在python中向变量添加属性?

  26. 26

    是否可以向边缘添加自定义属性?

  27. 27

    iOS / Swift无法向子类添加手势

  28. 28

    向UINavigationController子类添加自定义按钮

  29. 29

    Javascript为什么不能向子类原型添加方法?

热门标签

归档