HTML5   发布时间:2022-04-27  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ios – Swift CoreData:错误:严重的应用程序错误.在Core Data更改处理期间捕获到异常.大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在iOS上编写一个程序,我正面临着这个错误

我想,我试图从主线程和后台线程同时访问数据库.我已经看到了很多针对Objective C的解决方案,但没有针对Swift解决方案(我不知道Objective C ……).不幸的是,我不知道如何使用Grand Central Dispatch,事实上,我的程序并不需要几个步骤(我的意思是它需要它,但如果某个线程丢失一个函数的信息一次,没有什么不好的意思发生).我只想在Swift 1或2上有稳定的程序,所以我会感谢任何帮助.

解决方法

您需要使用专用队列并发类型创建私有NsmanagedObjectContext,并在后台线程上操作时使用它来访问CoreData.

所以假设我需要在后台运行数据库操作,我可以将该工作分配给后台线程

dispatch_async(dispatch_get_global_queue(QOS_CLASS_BACKGROUND,0),{
        //call your BACkground operation.
    })

然后在后台操作中我可以创建一个私有NsmanagedObjectContext

let moc = … //Our priMary context on the main queue

let privateMOC = NsmanagedObjectContext(concurrencyType: .PrivateQueueConcurrencyTypE)
privateMOC.parentContext = moc

privateMOC.performBlock {
    //operations
    do {
        try privateMOC.save()
    } catch {
        fatalError("Failure to save context: \(error)")
    }
}

阅读Apple的CoreData并发指南,以便在多线程上实现核心数据操作之前获得良好的理解.

大佬总结

以上是大佬教程为你收集整理的ios – Swift CoreData:错误:严重的应用程序错误.在Core Data更改处理期间捕获到异常.全部内容,希望文章能够帮你解决ios – Swift CoreData:错误:严重的应用程序错误.在Core Data更改处理期间捕获到异常.所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。