У меня есть несколько элементов пользовательского интерфейса Какао с выходными подключениями к объекту, созданному внутри объекта NSView, который, в свою очередь, помещается туда NSViewController. Эти элементы, определенный индикатор выполнения и текстовая метка, не обновляются: индикатор выполнения является мертвым и пустым, несмотря на то, что его значение постоянно изменяется, текстовая метка не отображается через [textLabel setHidden: NO], текстовая метка не изменяется его строка.
Что я знаю:
- Нет разницы между значениями привязки и их настройкой в коде. Ничего не меняется в любом случае.
- Я проверил розетки. Они все там.
- Я пробовал [X displayIfNeeded], где X - это сами объекты пользовательского интерфейса, содержащий NSView и главное окно. Без разницы.
- [progressBar setUsesThreadedAnimation: YES] не имеет значения. Интересно, что если посмотреть на среднюю программу progressBar, то _threadedAnimation по-прежнему НЕТ.
- Объект, содержащий все эти выходы и выполняющий операцию импорта, находится в NSOperationQueue, принадлежащем объекту NSViewController.
Спасибо!
РЕДАКТИРОВАТЬ: Как было предложено, я вызвал [self executeSelectorOnMainThread: @selector (updateProgress :) withObject: [NSNumber numberWithInt: myObject] waitUntilDone: NO]. (Я также пробовал waitUntilDone: ДА.) Он все еще не обновляется. Отладчик четко показывает updateProgress: происходит в основном потоке, поэтому я не знаю, чего не хватает.