Чтобы убедиться, что handler1 всегда выполняется перед handler2 , вы можете использовать следующий подход:
Каждый раз, когда handler1 завершив то, что должен сделать, он [выдаст сигнал Service
, в котором оба Handler
работают, чтобы] немедленно запустить handler2 .
handler2 (или Service
) будет разрешено запланировать повторное выполнение Runnable
на следующие пять раундов. Вы можете использовать некоторый тип обратного отсчета, чтобы отслеживать оставшиеся раунды. Последний «независимо управляемый» раунд начнется примерно через 25 секунд после начального раунда. После этого раунда до handler1 может быть выдана следующая команда запуска для handler2 .
Если Вы используете AppKit, и Вы хотите обнаружить щелчок правой кнопкой в своем представлении, необходимо переопределить -[NSResponder rightMouseDown:]
.
В целом,-rightMouseDown: должен быть назван автоматически, но я видел ситуации, где это не - они могут быть исправлены в Leopard.
Но прямо сейчас, в-mouseDown: Я проверяю, снижается ли клавиша CTRL, с помощью этого кода:
- (void)mouseDown:(NSEvent *)event;
{
if (event.modifierFlags & NSControlKeyMask)
return [self rightMouseDown:event];
...
}
- Wil