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
,它是主上下文的子上下文,那么当您保存子上下文时,它将被保存到主上下文中。但在保存主上下文之前,它不会持久化,因为这是连接到持久性坐标的内容,但我很确定,这本书的意思是真正的持久化保存,而不是存储。这就是我不知道你在用哪本书的原因?是的,我也是这么想的。但这本书在这方面有点误导。这就是我问这个问题的原因是的,我也是这么想的。但这本书在这方面有点误导。这就是为什么我在这里问这个问题