上下文
我正在构建一个使用
CoreData
的应用程序。打开 NewEntityForm
时,应用程序会创建此 Object
的 Entity
供用户操作。当用户保存他的更改时,它会被保存到Context
,否则它会被丢弃使用object.rollback()
.
这意味着在给定的
Uncommitted Objects
中任何时候都可以有Context
。但是,我只想在应用程序中展示保存的内容,期待NewEntityForm
.
代码
此代码获取所有对象,保存到上下文和临时。
FetchRequest(sortDescriptors: [SortDescriptor(\.name, order: .forward)])
问题
FetchRequest
,以便它只返回Objects
已经保存到Context
并忽略Uncommitted Objects
.如何调整我的 FetchRequest 以便它只返回已保存到上下文的对象并忽略未提交的对象。
托管对象上下文通常被描述为对象的“便签本”——它的目的是在新对象保存之前跟踪新对象和对现有对象的更改。一旦将对象保存在上下文中,所有内容都会写回到上下文的父存储中。因此,如果您想忽略未保存的更改,您应该使用相同的父存储创建一个新的托管对象上下文。或者,如果父存储是另一个托管对象上下文,您可以只在该上下文中发出获取请求。