Ios CoreData-创建新实体-为什么不';你不需要保存这个吗?

Ios CoreData-创建新实体-为什么不';你不需要保存这个吗?,ios,swift,core-data,nsmanagedobjectcontext,swift3,Ios,Swift,Core Data,Nsmanagedobjectcontext,Swift3,我想您可以创建新实体(在swift 3中),如下所示: let person=person(上下文:persistentContainer.viewContext) person.name=“Some name” 似乎就是这样。它永久地拯救了新人(至少我认为是这样) 为什么不需要调用AppDelegate的saveContext()。swift(或persistentContainer.viewContext.save()基本相同,对吗?) 每次更改某些实体时,都需要保存它。为什么在创建新的实体

我想您可以创建新实体(在
swift 3
中),如下所示:

let person=person(上下文:persistentContainer.viewContext)
person.name=“Some name”

似乎就是这样。它永久地拯救了新人(至少我认为是这样)

为什么不需要调用AppDelegate的
saveContext()
。swift(或
persistentContainer.viewContext.save()
基本相同,对吗?)

每次更改某些
实体时,都需要保存它。为什么在创建新的
实体时不出现这种情况


提前感谢

根据您对问题的评论,您正在调用
saveContext()

进入您的
AppDelegate
并签出
applicationWillTerminate
saveContext()


简言之,如果您想保留数据,那么是的,您需要调用
saveContext()

根据您对问题的评论,您正在调用
saveContext()

进入您的
AppDelegate
并签出
applicationWillTerminate
saveContext()


简言之,如果您想要持久化数据,那么是的,您需要调用
saveContext()

对于您的anser,您必须了解核心数据堆栈


在保存上下文之前,对托管对象所做的更改不会提交到父存储。

对于anser,您必须了解核心数据堆栈


在保存上下文之前,您对托管对象所做的更改不会提交到父存储。

您如何测试不需要保存的内容?我正在使用《教程核心数据》一书。在一章中,情况就是这样。另外,我通过关闭应用程序并重新启动它来测试它(我确实确保了数据不会在应用程序启动时总是插入),您如何测试不需要保存的数据?我正在使用《教程核心数据》一书。在一章中,情况就是这样。另外,我通过关闭应用程序并重新启动它来测试它(我确实确保了数据不会在应用程序启动时总是插入)啊,这是有道理的。在书中,它说在创建新条目后会立即保存。这有点误导。它会立即存储在上下文中,但在保存之前不会持久化。另外,如果您有一个
ManagedObjectContext
,它是主上下文的子上下文,那么当您保存子上下文时,它将被保存到主上下文中。但在保存主上下文之前,它不会持久化,因为这是连接到持久性坐标的内容,但我很确定,这本书的意思是真正的持久化保存,而不是存储。这就是我不明白你在用哪本书的原因?啊,这很有道理。在书中,它说在创建新条目后会立即保存。这有点误导。它会立即存储在上下文中,但在保存之前不会持久化。另外,如果您有一个
ManagedObjectContext
,它是主上下文的子上下文,那么当您保存子上下文时,它将被保存到主上下文中。但在保存主上下文之前,它不会持久化,因为这是连接到持久性坐标的内容,但我很确定,这本书的意思是真正的持久化保存,而不是存储。这就是我不知道你在用哪本书的原因?是的,我也是这么想的。但这本书在这方面有点误导。这就是我问这个问题的原因是的,我也是这么想的。但这本书在这方面有点误导。这就是为什么我在这里问这个问题