2009-06-13 3 views
1

Что означает ошибка mach_msg_trap? Я разрабатываю приложение с основными данными. Я получаю эту ошибку, когда ManagedObjectContext, если другой поток «используется» во второй раз. У меня есть потребительский вид системы нарезки. Нить производителя и потребительский поток используют один и тот же базовый sqlite-db, но разные управляемые объекты-объекты, поскольку они находятся на разных потоках. Но я хочу, чтобы продюсер thead проверил новые данные, и если они есть, я хочу, чтобы он обновил мой управляемый объектObjectContext. Но во второй раз, когда он запускает аварийные программы приложения, вы получаете вышеупомянутый результат.mach_msg_trap in core-data

Пожалуйста, помогите ...

ответ

6

mach_msg_trap является функцией, а не ошибка. В частности, это функция, которую цикл цикла вызывает, чтобы ждать чего-то. Эта функция - то, как ваше приложение может дождаться, когда что-то произойдет (завершение ввода-вывода, срабатывание таймера, сообщение о сообщениях и т. Д.) Без использования процессорного времени.

Но я хочу, чтобы производитель thead проверял новые данные, и если они есть, я хочу, чтобы он обновил мой managedObjectContext.

Я не парень основных данных, так что я не знаю, конкретное решение, но я знаю, что вы никогда не послать сообщение МОС другого потока. Вы правы иметь отдельные MOC, и у вас есть их по какой-то причине.

Я предлагаю вам отредактировать свой вопрос, чтобы уточнить, что вы спрашиваете, как сигнализировать один Контекст управляемого объекта, который изменил другой Контекст управляемого объекта, который они разделяют. Ваш вопрос действительно не имеет отношения к mach_msg_trap.