CoreData 类的自定义方法

Posted

技术标签:

【中文标题】CoreData 类的自定义方法【英文标题】:Custom methods for CoreData classes 【发布时间】:2017-06-13 11:45:12 【问题描述】:

我正在尝试在我的 ios 应用程序中符合 MVC paradigm。我的模型由存储在 coreData 中的实体组成,我使用 xcdatamodel 文件设置了这些实体。

我想为这些实体添加一些自定义方法,以便将模型部分与控制器分开。

在以前版本的 Xcode 中,自动生成的 managedObject 类会自动添加到我的项目中,我可以为这些类添加自定义方法。现在我不再看到这些自动生成的类了。

我为代码生成选择了“类定义”。

我是否需要为每个实体创建一个额外的类以在这些 entities 上启用自定义方法?或者有没有更好的方法来解决这个问题。

【问题讨论】:

【参考方案1】:

这是一个相当新的 Xcode 功能。 Xcode 为您生成文件并保存对生成文件的引用。即使文件没有显示在项目中,您仍然可以为生成的类编写扩展。

您可以找到更多详细信息in this answer。

【讨论】:

谢谢。我将添加该帖子中提到的扩展名。作为形式和最佳实践,为我的实体添加扩展的最佳位置是哪里?在新创建的 coreDataHelper 类或文件中? 那是基于意见和 imo。依靠。一般来说,我要么有一个主题的StoreWorker,例如FetchOrdersWorker,我在其中输入有关获取订单的内容。有时我发现收集代码实体 wize 更清晰。在这种情况下,我创建了一个文件EntityName+Additions,其中EntityName 的所有扩展名都在其中。 非常感谢。我认为 EntityName+Additions 最适合我的项目。

以上是关于CoreData 类的自定义方法的主要内容,如果未能解决你的问题,请参考以下文章

ruby 这是Array类的自定义“flatten”方法,仅用于测试。

我可以使用 phonegap 来调用我的自定义 Objective C 类的方法吗?

提供模板类的一种方法的定义

IDEA2020.2版本设置类和方法的自定义注释模板

CoreData 的自定义 UID 数据类型

0607-抽象类抽象方法接口类的重载类的自加载对象的克隆