1
我正在创建一个新的NSManagedObject并将其插入具有并发类型专用队列的上下文(因此它运行在后台线程上)。调用时获取线程错误obtainPermanentIDsForObjects
我省权利之前,我称之为:
[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
,问题就会消失。
有什么建议吗?
您是否有任何其他新的托管对象是您获取对象ID的对象的“子项”?如果是这样,你需要将这些对象添加到数组中。这是核心数据中的一个错误。 –
不,我不认为我处理的是儿童和父母对象。 – Snowman
是否有任何其他对象在newObject上创建并设置为属性(核心数据基元除外)? –