扩展Core Data生成的NSManagedObject类

时间:2012-05-03 07:58:20

标签: objective-c core-data categories nsmanagedobject mogenerator

我第一次处理Core Data,我想知道扩展Xcode为NSManagedObject实体生成的类的最佳实践。

我看到了mogenerator,我也在使用SUPER HAPPY EASY FETCHING IN CORE DATA中建议的类似方法。 所以我有三种课程:

  • EasyFetching类别(只有一个类别);
  • 生成的NSManagedObject子类(即:_Entity);
  • 自定义子类,包含一些自定义方法,例如查找所有非活动对象,清除对象的缓存等(即:实体)。

这种方法让我可以做一些自定义代码,同时我可以重构我的Core Data实体并根据需要多次生成它。但是我也遇到了一些问题,比如无法为我的实体声明对象级方法(因为NSManagedObjectContext只知道我的_Entity类)。

现在我正在使用类别来扩展我的实体功能。这样可以更好地工作,因为我可以使用自定义对象级方法。我现在有三种类:

  • EasyFetching类别(因为它有很多我自定义代码使用的方法);
  • 生成的NSManagedObject子类(即:Entity);
  • 我的NSManagedObject实体的自定义类别(即:Entity + Custom.h)。

我的问题是:你会推荐什么?

提前感谢您的回答

1 个答案:

答案 0 :(得分:2)

现在您已将问题作为答案发布在question上, 我想我应该回答你的问题:)

Mogenerator看起来不错,试一试。

您对类别的建议方式也是一个很好的选择。

事实上这里是一个link,它准确地解释了如何这样做。