Первый вопрос в StackOverflow, а также в Cocoa newbye. Кроме того, я использую XCode 4 (будьте добры, пожалуйста!)
Сценарий:
Простой NSPersistentDocument Мультиокна: каждый документ имеет window.nib и прикрепленный WindowController
Приложение запускается NSTask (в фоновом режиме), когда я нажимаю кнопку в WINDOW TOOLBAR .
В окне (внутри представления) я решил поместить хороший NSProgressIndicator (неопределенный), который анимирует при запуске задачи и stopAnimation при завершении задачи (я собираю сообщения задачи через уведомления).
Пример кода:
NSButton -> IBAction -> метод в WindowController
- (IBAction)launchSim:(id)sender
{
[simcell launchTask];
[progBar startAnimation:self];
.... more code ...
}
Все работает прекрасно и отлично.
Теперь (как обычно в этом сценарии) вы получаете странную ошибку и начинаете становиться непродуктивной:
Я решил запустить то же действие из MainMenu (из NSMenuItem):
В MainMenu.xib:
NSMenuItem ("RUN") -> FirstResponder -> Пользовательское действие в первом респонденте: launchSim (идентификатор типа)
Пункт меню RUN запускается правильно. Задача (у меня есть сообщения NSLog DEBUG), НО анимация (startAnimation) индикатора progressBar не запускается!
ОТЛИЧИЕ в 2 действиях:
- первый (рабочий) вызывается из файла Nib, принадлежащего WindowController
- второй (не работает) вызывается из MainMenu.xib и отправляется FirstResponder
Оба действия выполняют правильно другую часть кода в методе, но если я вызываю действие из меню, я не вижу никакой анимации индикатора прогресса.
Чего мне не хватает?
Спасибо и наилучшими пожеланиями