【问题标题】:CoreData: Fetching an Object from an unsaved ContextCoreData:从未保存的上下文中获取对象
【发布时间】:2011-03-15 05:04:08
【问题描述】:

在我将 ManagedObject 插入上下文之后,我想稍后但在保存上下文之前获取它(我会在插入所有对象后保存)。如果上下文之前没有保存,那么稍后使用有关这些对象的 fetch 查询上下文似乎不会返回任何内容。 有没有办法只保存到最后?(我想我可以将我的对象保存在数组或字典中并查询,但我认为 coredata 会为我做这件事)

【问题讨论】:

标签: iphone core-data nsmanagedobject nsmanagedobjectcontext


【解决方案1】:

试试这个:

[myFetchRequest setIncludesPendingChanges:YES];

来自documentation

设置是否在执行提取时匹配托管对象上下文中当前未保存的更改。

【讨论】:

  • 我之前看到过,但它似乎不起作用,获取返回一个 0 元素数组,但上下文显示其中有 20 个对象(我用 [[moc insertedObjects] count] 记录它),而如果我在 moc 仅包含 1 个插入对象之前保存(我在获取之前插入了它,但没关系),并且获取的对象数组的长度为 1(这是正确的)。也许是因为我的上下文绑定到一个持久存储,我应该将它链接到内存存储吗?
  • 无论商店在哪里,这都应该有效。如果您有多个上下文,请记住,在每个上下文都保存到存储之前,您只能获取每个单独的上下文中未保存的对象。
  • includesPendingChanges 根据文档默认为 YES,所以这并没有真正的帮助......
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-11-07
  • 1970-01-01
  • 2021-11-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多