ios – Swift CoreData:错误:严重的应用程序错误.在Core Data更改处理期间捕获到异常.

ios – Swift CoreData:错误:严重的应用程序错误.在Core Data更改处理期间捕获到异常.,第1张

概述我正在iOS上编写一个程序,我正面临着这个错误: 2015-11-06 10:57:24.289 NETFNET[2503:976392] CoreData: error: Serious application error. Exception was caught during Core Data change processing. This is usually a bug within 我正在iOS上编写一个程序,我正面临着这个错误:

2015-11-06 10:57:24.289 NETFNET[2503:976392] CoreData: error: SerIoUs application error. Exception was caught during Core Data change processing. This is usually a BUG within an observer of NSManagedobjectContextObjectsDIDChangeNotification. -[__NSCFSet addobject:]: attempt to insert nil with userInfo (null)
2015-11-06 10:57:24.293 NETFNET[2503:976392] *** Terminating app due to uncaught exception ‘NSinvalidargumentexception’,reason: ‘-[__NSCFSet addobject:]: attempt to insert nil’

我想,我试图从主线程和后台线程同时访问数据库.我已经看到了很多针对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.    })@H_403_29@  

然后在后台 *** 作中我可以创建一个私有NSManagedobjectContext

let moc = … //Our primary context on the main queuelet privateMOC = NSManagedobjectContext(concurrencyType: .PrivateQueueConcurrencyType)privateMOC.parentContext = mocprivateMOC.performBlock {    //operations    do {        try privateMOC.save()    } catch {        fatalError("Failure to save context: \(error)")    }}@H_403_29@  

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

总结

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

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

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1058828.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存