3

Apple Documents 说“如果上下文已经包含从 fetch 返回的对象的托管对象,则在 fetch 结果中返回现有的托管对象

我的问题是,如果我在上下文中更新了对象但尚未保存上下文,那么 Fetch Request 将返回什么对象?从 Context 更新对象或从 Datastore 新建一个。

4

3 回答 3

1

你的报价回答了这个问题;它将是记忆中的那个。随之而来的警告是,如果您创建一个新的NSManagedObjectContext并在该上下文上执行获取请求,您将从数据存储中获取对象。

于 2013-10-18T13:26:18.420 回答
0

这取决于includesPendingChanges获取请求的设置。默认情况下, includesPendingChangesis YES,这意味着 fetch 将获得当前未保存的更改。

但是,如果您将NSDictionaryResultType结果类型用于获取请求,这隐含地暗示includesPendingChanges = NO,您将仅从存储中获得结果。

于 2013-10-18T13:32:28.533 回答
0

我猜它会从 Context 返回更新的对象

注意:由于声誉低下,我必须作为答案。

于 2013-10-18T13:25:59.433 回答