【问题标题】:Method inheritance for Core Data Entities (one's the parent)核心数据实体的方法继承(一个父)
【发布时间】:2012-05-18 22:40:08
【问题描述】:

我有 3 个实体,其中一个是另外两个的父级。我为它们中的每一个创建了 NSManagedObject 子类。我知道如何从父类继承属性,但我需要继承一个方法。现在我只有 1 个视图控制器,所以我真的不知道如何只用一个 VC 进行方法继承,或者我可以吗?所有 3 个实体都有一个同名的方法。感谢您提供任何可能的帮助。

【问题讨论】:

  • 很抱歉,请改写您的问题。我不知道你在问什么。

标签: ios core-data inheritance methods


【解决方案1】:

只需在父类中声明一个方法,并在子类中覆盖它:

@interface BaseClass : NSManagedObject
- (void)doSomething;
@end

@interface InheritedClass : BaseClass
- (void)doSomething;
@end

@implementation InheritedClass
- (void)doSomething {
    [super doSomething];
    ....
}
@end

【讨论】:

  • 谢谢!因此,当需要完成此任务时,我在各处阅读的“不要触摸为您的实体创建的类”被忽略了?
  • 他们说“不要碰类”的原因是因为这些文件可以由 Xcode 的数据模型编辑器自动生成(如果你愿意的话)。例如,您可以简单地删除 NSManagedObject 的 .h 和 .m 文件,然后重新生成它们。如果您对这些 .h 或 .m 文件进行了任何更改,这些更改显然会在重新生成文件时丢失。如果你真的想走这条路,只需避免为这个特定的类重新生成文件,并手动管理它。希望这是有道理的。
  • 是的,那部分我知道。书籍、教程等不应该严格说“不要碰”,而是说“自动生成,您可以编辑和添加方法,但如果您选择再次自动生成,您的更改将不会被保存。 "
猜你喜欢
  • 2013-04-06
  • 2013-07-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多