3

我最近从外部开发人员那里继承了一个 CoreData 项目。在我希望找到所有自动生成的 NSManagedObject 子类的地方,我却拥有(一些谷歌搜索显示的)由 Mogenerator 生成的类,这是一个我没有经验的工具。

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

我目前没有看到使用 Mogenerator 超过类别的真正优势。

使用 Mogenerator 与类别的优点/缺点是什么?Mogenerator 是否有其他用途?

4

2 回答 2

8

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

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

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

于 2012-11-19T17:13:28.747 回答
0

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

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

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

机器类总是可以被覆盖以匹配数据模型,而人类的工作可以毫不费力地保留下来

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

于 2012-10-13T11:25:40.197 回答