ven*_*par 7 core-data objective-c ios
嗨,我崩溃了,
当我试图在背景中向数据库插入1000条记录时,我得到以下异常:
CoreData: error: Serious application error.在Core Data更改处理期间捕获到异常.
这通常是观察者中的一个错误
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'
Run Code Online (Sandbox Code Playgroud)
我用代码插入了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];
Run Code Online (Sandbox Code Playgroud)
Baa*_*alu 16
不要使用一个上下文同时从2个线程(Main,Background)访问相同的数据库(持久性存储协调器).不建议这样做.它导致App崩溃.
创建NSManagedContext对象并设置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];}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10737 次 |
| 最近记录: |