为 CoreData 生成的类添加前缀

Posted

技术标签:

【中文标题】为 CoreData 生成的类添加前缀【英文标题】:Prefixing CoreData generated classes 【发布时间】:2013-03-13 03:31:55 【问题描述】:

在我的 XCode 项目中,我有两个数据模型 (.xcdatamodel),并希望为每个模型中的实体生成 NSManagedObject 派生类。问题是两个模型都包含同名的实体。我怎样才能让这些带有前缀的类生成,以避免由于类似于this similar question 中描述的名称冲突而导致的链接错误?

【问题讨论】:

【参考方案1】:

给他们不同的类名,仅此而已。实体名称和类名称不必相同。生成的类将使用您提供的任何名称。

例如,如果您有一个实体Person,您可以在其生成的类名中添加前缀Foo

当您为此实体生成类时,您将获得 FooPerson.h 和 FooPerson.m。在不同的模型中使用不同的前缀,就会得到不同的类。

在相关的说明中,如果您使用mogenerator 生成您的类,您将获得比使用 Xcode 的内置类生成更好的结果。它更加灵活,如果您更改模型,它可以更加更轻松地使生成的类保持最新。

【讨论】:

以上是关于为 CoreData 生成的类添加前缀的主要内容,如果未能解决你的问题,请参考以下文章

intentdefinition 生成代码中的类前缀

在 Swift 中使用 MagicalRecord 实例化的向下转型 CoreData 实体

从 CoreData 获取数据时出现“'[AnyObject]' 不可转换为 '[Dog]?'”错误

Slim (V3) 框架:为生成的链接添加前缀,但不为传入路由添加前缀

我的应用程序有啥更好的选择 - CoreData 或 plist? [关闭]

认识CoreData—初识CoreData