CoreData:Mogenerator与类别

时间:2012-10-02 22:25:47

标签: core-data mogenerator

我最近从外部开发者那里继承了一个CoreData项目。在我希望找到所有自动生成的NSManagedObject子类的地方,我改为使用Mogenerator生成的类(谷歌显示的是什么),这是我没有经验的工具。

我理解使用此工具的目的是使您可以将自定义代码添加到与CoreData实体相对应的类中,而不必担心在模型更改并重新生成类时它会丢失...但是无论如何,我可以通过使用类别来做到这一点。

我目前看不到将Mogenerator用于类别的真正优势。

使用Mogenerator与类别有什么优点/缺点? Mogenerator是否可以用于其他目的?

2 个答案:

答案 0 :(得分:8)

使用类和类别的一个优点是,您可以通过子类化和重写来扩展功能。

例如,如果您的模型具有子实体,则它们可以从公共主类继承功能。子类可以通过覆盖所需的方法来定义特定的行为。另一方面,可以覆盖类别中定义的方法,但不建议这样做。这意味着必须在每个子类中重复实现类别的逻辑。

托管对象中的很多代码都是样板文件,所以让mogenerator自动执行它是非常好的。

答案 1 :(得分:0)

来自他们的“网站”http://rentzsch.github.com/mogenerator/

  

mogenerator为您的Core Data自定义生成Objective-C代码   类

     

与Xcode不同,mogenerator管理每个实体两个类:一个用于   机器,一个人类

     

始终可以覆盖机器类以匹配数据模型,   与人类的工作毫不费力地保存

所以基本上它与类别无关。 Mogenerator(模型对象生成器)生成代码,您已经在项目中看到了结果。