在核心数据中使用获取请求返回什么对象?

时间:2013-10-18 13:22:30

标签: iphone ios core-data

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

我的问题是如果我在上下文中更新了对象但没有保存上下文,那么Fetch Request将返回什么对象?来自Context的更新对象或来自Datastore的新对象。

3 个答案:

答案 0 :(得分:1)

你的引言回答了这个问题;它将成为记忆中的一个。有了这个警告,如果你创建一个新的NSManagedObjectContext并在该上下文上执行获取请求,你将从数据存储中获取该对象。

答案 1 :(得分:0)

我猜它会返回来自上下文的更新对象

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

答案 2 :(得分:0)

取决于获取请求的includesPendingChanges设置。默认情况下, includesPendingChangesYES,这意味着获取将在当前未保存 变化。

但是,如果您对获取请求使用NSDictionaryResultType结果类型, 这隐含地暗示includesPendingChanges = NO,你只会获得结果 来自商店。