У меня есть основной цикл сообщений. Я ищу способ проверить, является ли событие AppleEvent, и если это класс событий из «MyClass», тогда сделайте что-нибудь. Я смотрел в ссылке NSEvent и был потерян, не нахожу то, что мне нужно. Может кто-нибудь предложить подход?Идентификация AppleEvents в основном контуре сообщения
while (!shutdown_now_)
{
NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init];
NSEvent *event = [NSApp nextEventMatchingMask:NSAnyEventMask
untilDate:[NSDate distantFuture]
inMode:NSDefaultRunLoopMode
dequeue:YES];
//if event is AppleEvent AND event class is <MyEventClass> then do something
if (event) [NSApp sendEvent:event];
[pool drain];
}
AppleEvent как и другие события, отправленные из очереди сообщений. Если Событие является событием Apple, оно отправляется в AppleEvent Manager, который ищет в таблице отправки и вызывает зарегистрированного обработчика. Я знаю, как регистрировать обработчики, и это работает для меня. – Sanich
События Apple - это исключения из того, что покрывает 'NSEvent'. Проверьте обновленный ответ – deimus
Я отлаживал цикл. AppleEvents перенаправляются на AppleEvent Manager из nextEventMatchingMask – Sanich