CoreData:错误:严重的应用程序错误。在核心数据更改处理期间捕获异常 [英] CoreData: error: Serious application error. Exception was caught during Core Data change processing

查看:2049
本文介绍了CoreData:错误:严重的应用程序错误。在核心数据更改处理期间捕获异常的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

您好我会崩溃,

当我试图插入1000条记录到db在后台,我得到以下例外:
CoreData:错误:严重的应用程序错误。在Core数据更改处理期间捕获到异常。

这通常是

when i'm trying to insert 1000 records into db in back ground, i'm getting following exception: 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)2013-11-19 09:41:19.587 3pTalk[7487:907]

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFSet addObject:]: attempt to insert nil'

objexts

dispatch_queue_t myBackgroundQ = dispatch_queue_create("com.sample.addressbook", NULL);
// Could also get a global queue; in this case, don't release it below.
dispatch_time_t delay = dispatch_time(DISPATCH_TIME_NOW, NSEC_PER_SEC);
dispatch_after(delay, myBackgroundQ, ^(void){
    [self userAddressbook];
});
dispatch_release(myBackgroundQ);
[self performSelectorOnMainThread:@selector(startSyncLoader) withObject:nil waitUntilDone:YES];


推荐答案

不要访问同一个数据库线程(主,背景)同时与一个上下文。这不是建议。它会导致App Crash。

Dont access same Database(Persistent Store Coordinator) from 2 threads(Main,Background) simultaneously with one context. This is not recommended. it causes App Crash.

创建NSManagedContext对象并设置persistentstoreCoordinator。

create NSManagedContext Object and set persistentstoreCoordinator.

    dispatch_queue_t request_queue = dispatch_queue_create("com.xxx.ScsMethod", NULL);
    dispatch_async(request_queue, ^{
    NSPersistentStoreCoordinator *mainThreadContextStoreCoordinator = [context     persistentStoreCoordinator]; //
    NSManagedObjectContext *context = [[NSManagedObjectContext alloc] init]; // 
    [context setPersistentStoreCoordinator:mainThreadContextStoreCoordinator];}

这篇关于CoreData:错误:严重的应用程序错误。在核心数据更改处理期间捕获异常的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆