【问题标题】:NSManagedObjectContext progress meter for saving?用于保存的 NSManagedObjectContext 进度表?
【发布时间】:2013-01-31 22:24:30
【问题描述】:

有没有办法将 NSManagedObjectContext 设置为定期向委托发送消息,因为它执行复杂的操作,例如删除具有许多级联删除的对象,或将更改保存到磁盘?我会将进度更新发送到 MBProgressHUD 控制器。

【问题讨论】:

  • 如果您的 MOC 正在执行阻塞主线程的冗长操作,您应该考虑将这些操作移到单独的上下文/线程中。

标签: ios core-data nsmanagedobjectcontext mbprogresshud


【解决方案1】:

总有办法。有没有简单的方法?没有。

上下文本身不会保存到磁盘。 Apple 强烈反对继承 NSManagedObjectContext。 NSPersistentStore 是实际的序列化/反序列化。您需要创建自己的 NSPersistentStore ,它在保存时将具有可观察的进度属性或委托。

【讨论】:

  • 在 iOS 上?不,它很少有很好的用途。在后台运行该操作就足够了,但可能会显示一个不确定的进度指示器。像 NSMigrationManager 这样真正长时间运行的操作确实会公开一个可观察的进度属性。
猜你喜欢
  • 2023-03-26
  • 2015-03-19
  • 2012-02-20
  • 1970-01-01
  • 1970-01-01
  • 2014-09-17
  • 2013-02-14
  • 2012-08-06
  • 1970-01-01
相关资源
最近更新 更多