2009-06-13 20 views
1

mach_msg_trapエラーはどういう意味ですか? 私はコアデータを持つアプリケーションを開発しています。 2回目に別のスレッドが "使用"された場合、ManagedObjectContextのときにこのエラーが発生します。 私は生産者の消費者の種類のスレッドシステムを持っています。プロデューサスレッドとコンシューマスレッドは、同じ基礎となるsqlite dbを使用しますが、異なるスレッド上のmanagedObjectContextとは異なります。 しかし、私はプロデューサーが新しいデータをチェックし、もしあれば私がmanagedObjectContextを更新したいと思っています。しかし、上記の結果を与えるアプリケーションクラッシュを実行する2回目。mach_msg_trap in core-data

...

答えて

6

​​は機能、エラーではありません助けてください。具体的には、何かが到着するのを待つために実行ループが呼び出す関数です。この関数は、CPU時間を使用せずにアプリケーションが何かが起こるのを待つことができる(I/O完了、タイマー・ファイア、何かが通知をポストするなど)。

しかし、私はプロデューサーが新しいデータをチェックし、もしあれば私がmanagedObjectContextを更新したいと思っています。

私はコアデータの男ではないので、私は具体的な解決策を知らないが、私はあなた別のスレッドのMOCにメッセージを送信しないことを知っています。あなたは別々のMOCを持っているのは当然ですが、あなたはそれが理由であります。

質問を編集して、別のManaged Object Contextが両方のユーザーが共有するデータストアを変更したことを通知する方法を尋ねることをお勧めします。あなたの質問は、実際には​​とは関係ありません。