0
我有一個主消息循環。我正在尋找一種方法來檢查事件是否是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正從nextEventMatchingMask重定向到AppleEvent Manager – Sanich