У меня есть многопоточное приложение Какао, которое обрабатывает изображения.В программе есть индикатор выполнения и текст, показывающий, насколько далеко продвинулся процесс.Это все прекрасно работает.Однако иногда интерфейс просто зависает, и все перестает обновляться.Индикатор выполнения перестает двигаться, а текст перестает обновляться в процентном счетчике.Тем не менее, фактический процесс все еще работает!У меня есть NSBeep (), который запускается, когда программа завершена, и я все еще слышу это, хотя пользовательский интерфейс больше не обновляется.Как будто пользовательский интерфейс просто отключается от кода.
Другая странная проблема заключается в том, что иногда NSOpenPanel, который открывается, когда пользователь хочет выбрать файл, просто становится белой пустотой.Я объявил NSOpenPanel (я использую [NSOpenPanel openPanel]) в главном потоке, что помогает (сначала я пытался сохранить его, но это не сработало).Я не знаю, связано ли это с этим, но любые идеи приветствуются!
Я использую Xcode 3.1.1 (GCC 4.2) в Mac OS X 10.5.8.