NSManagedObjectContext 子类

NSManagedObjectContext Subclasses

我正在学习如何使用 Core Data,我真的很接近使用这个模块构建一个简单的项目,但我不清楚 MOC 子类的用途是什么? 有一次听说 [NSManagedObject Name]+CoreDataClass.swift 可以用一些方法修改。 所以我有 3 个问题:

Can I use CoreDataClass as ViewModel for data

从技术上讲,这是标准的做事方式,除了 CoreDataClass 和 ViewModel 之间有一个中间概念,即 @FetchRequest。现在我个人一直看到直接在视图上使用 CoreData (@FetchRequest),因为没有必要进一步抽象它。

What are those files really for?

在 CoreDataEntity 的 GUI 中,有一个 ClassDefinition 或 ClassGen 选项。这些文件是 swift 自动为您生成的文件。现在取决于您是否看到它们将取决于您 select 的 ClassDefinition。

这个问题与你的第一个问题直接相关,因为本质上这个文件用作视图模型。因为在这些文件中你将拥有你的属性

示例:

@NSManaged var name: String

Why my simple function doesn't save (it's of course part of Point+CoreDataClass.swift file)

你们太亲密了。那就是你没有定义上下文 你需要先说:

let myData = YourEntityName(context: context)

然后说:

myData.pointName = name

然后

context.save()