【问题标题】:Create temporary CoreData entities (in a non-persistent MagicalRecord context)?创建临时 CoreData 实体(在非持久 MagicalRecord 上下文中)?
【发布时间】:2014-02-05 04:41:33
【问题描述】:

我只想创建实体但不保存,只检查它们。

我可以为它们创建一个临时上下文吗? 一旦我决定存储它们,有没有办法将它们移动到持久上下文中

重点是:这些功能可以通过MagicalRecord API 获得吗?

【问题讨论】:

标签: ios objective-c core-data nsmanagedobjectcontext magicalrecord


【解决方案1】:

创建一个新的 NSManagedContext,将 parentContext 属性设置为您的主上下文,并在新上下文中创建新对象 - 您可以对这些对象做任何您想做的事情,然后稍后 保存 新上下文(这会将对象移动到主上下文)或直接丢弃它 - 对象将消失。

MagicalRecord 中似乎有一个+(NSManagedObjectContext*)MR_contextWithParent:

【讨论】:

  • 谢谢,所以重点是 parentContext。将为此扫描 MagicalRecord 文档。
  • 请注意,您可能会遇到与父/子上下文相关的问题。参见例如wbyoung.tumblr.com/post/27851725562/core-data-growing-pains
  • @Simon 这篇博文比较陈旧,我广泛使用嵌套上下文,没有注意到这些问题...
  • @Peter 我认为您是否注意到它们在很大程度上取决于您的设置。我仍然遇到它们,所以我认为它们值得一提。
  • 在这种情况下,您使用哪个上下文作为父上下文?默认上下文?根上下文?您还提到了与父母子女 MOC 的问题,仍然如此吗?将临时数据(尚未保存)放入常规变量(不是实体)中并仅在用户点击保存时创建和保存实体可能更好?
猜你喜欢
  • 2012-03-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-26
  • 2017-05-20
  • 1970-01-01
  • 1970-01-01
  • 2012-01-15
相关资源
最近更新 更多