Core data 如何保存NSManagedObject?

Core data 如何保存NSManagedObject?,core-data,swift4,Core Data,Swift4,我创建了一个与相应的核心数据实体相匹配的NSManagedObject类。该类有一个初始值设定项,因此我可以传入属性值并为其赋值 一旦初始化了NSManagedObject类并准备好保存到核心数据,您将如何准确地保存它 我看到的示例都是从通过NSManagedObjectContext创建一个新类开始的。我不想走这条路,因为我和其他类一样创建这个类 是否有方法将此对象传递给NSManagedObjectContext并调用其save()方法。听起来您可能没有正确初始化托管对象。仅在初始值设定项中

我创建了一个与相应的核心数据实体相匹配的
NSManagedObject
类。该类有一个初始值设定项,因此我可以传入属性值并为其赋值

一旦初始化了
NSManagedObject
类并准备好保存到核心数据,您将如何准确地保存它

我看到的示例都是从通过
NSManagedObjectContext
创建一个新类开始的。我不想走这条路,因为我和其他类一样创建这个类


是否有方法将此对象传递给
NSManagedObjectContext
并调用其
save()
方法。

听起来您可能没有正确初始化托管对象。仅在初始值设定项中分配属性值是不够的——必须使用指定的初始值设定项。您看到的示例都使用了
NSManagedObjectContext
,因为托管对象的指定初始值设定项需要一个。如果不提供,则不使用指定的初始值设定项,并且无法将对象保存在核心数据中

这是核心数据的基本要求之一。必须使用必须正确初始化的托管对象,并且这样做需要上下文

您不保存托管对象,而是告诉上下文保存它知道的任何更改,包括对其托管对象的更改。通过创建一个只知道一个新对象的新上下文,可以使其更细粒度。但是在一个上下文中保存一个对象并不会自动让其他上下文知道,所以最终会增加一些复杂性以保持更改同步


Apple's用示例代码详细介绍了这一点。

请在初始化此对象的位置添加代码。各个位置。打开是ViewControllerI中的一个IBOutlet add按钮。我的意思是,您可以编辑您的问题以显示创建实例的代码是什么样子的吗。