2009-06-13 171 views
1

mach_msg_trap错误是什么意思? 我正在开发一个具有核心数据的应用程序。如果第二次使用不同的线程,则在ManagedObjectContext出现此错误。 我有一个生产者消费者的线程系统。生产者线程和使用者线程使用相同的底层sqlite数据库,但不同的是它们在不同的线程上的managedobjectContext。 但我想生产者thead检查新的数据,如果有的话,我希望它更新我的managedObjectContext。但第二次运行应用程序崩溃给出了上述结果。mach_msg_trap核心数据

请帮助...

回答

6

​​是一个函数,而不是一个错误。具体而言,运行循环调用的函数等待某些内容到达。该函数是您的应用程序可以等待发生的事情(I/O完成,计时器触发,某些事情发布通知等),而无需使用CPU时间。

但我想生产者thead检查新的数据,如果有的话,我想它更新我的managedObjectContext。

我不是一个核心数据的家伙,所以我不知道具体的解决办法,但我不知道,你从来没有将消息发送到另一个线程的MOC。你有单独的MOC,你有他们的理由。

我建议你编辑你的问题,以澄清你问的是如何表示另一个托管对象上下文改变了它们共享的数据存储的一个托管对象上下文。你的问题与​​无关。