我最近从一个外部开发人员那里继承了一个CoreData项目。在我期望找到所有自动生成的NSManagedObject子类的地方,我有(一些谷歌显示的)由Mogenerator生成的类,这是一个我没有使用经验的工具。
我理解使用此工具的目的是为了让您可以将自定义代码添加到与CoreData实体相对应的类中,而不必担心在模型更改和重新生成类时会丢失代码……但无论如何我都可以通过使用类别来做到这一点。
我目前看不到使用Mogenerator比类别有什么真正的优势。
与分类相比,使用Mogenerator的优点/缺点是什么?Mogenerator有没有其他用途?
发布于 2012-11-20 01:13:29
使用类与类别的优势在于,您可以通过子类化和重写来扩展功能。
例如,如果您的模型具有子实体,则它们可以从公共主类继承功能。子类可以通过覆盖所需的方法来定义特定的行为。另一方面,可以覆盖类别中定义的方法,但不推荐这样做。这意味着作为类别实现的逻辑必须在每个子类中重复。
托管对象中的许多代码都是样板代码,所以让mogenerator自动完成它真的很好。
发布于 2012-10-13 19:25:40
从他们的'site' 进行
mogenerator为核心数据定制类生成Objective-C代码
与Xcode不同,mogenerator为每个实体管理两个类:一个用于机器,一个用于人类
机器类总是可以被重写以匹配数据模型,并且可以毫不费力地保留人类的工作
因此,基本上它与类别无关。
https://stackoverflow.com/questions/12699316
复制相似问题