我正在创建一个新的 NSManagedObject 并将其插入到具有并发类型私有队列的上下文中(因此它在后台线程上运行)。
在我保存之前,我称之为:
[appDelegate.backgroundMOC obtainPermanentIDsForObjects:
[NSArray arrayWithObject:newObject] error:&error];
然后我保存:
[appDelegate.backgroundMOC save:&err];
但是,我遇到了 EXC_BAD_ACCESS 崩溃。查看堆栈跟踪,我看到:
0 semaphore_wait_trap
7-[NSManagedObjectContentSave:]
我猜有问题的线是semaphore_wait_trap
,但我不确定这是怎么引起的。
如果我注释掉该行obtainPermanentIDsForObjects
,问题就会消失。
有任何想法吗?