停止核心数据计算?

时间:2016-10-24 11:13:08

标签: ios core-data

我使用Core Data进行了长时间的计算:

let contextTemporary = NSManagedObjectContext(concurrencyType: .privateQueueConcurrencyType)
contextTemporary.parent = context

contextTemporary.perform {
    //long running calculation
}

这是一种杀死它,打破它,阻止它的方法吗?

1 个答案:

答案 0 :(得分:0)

这取决于你在那个街区做什么。没有办法说,停止运行我开始的perform块。然而,

  • 您可以使该块中的代码不时检查外部标志(可能是一个名为cancel的布尔值),如果其值发生变化则停止运行。
  • 如果您的区块执行的操作类似于长时间提取,请考虑使用NSAsynchronousFetchRequest,这可以取消。