在ObjC的主事件循环中创建自己的事件



我很久以前没有在NeXTStep中这样做过,似乎记得您可以创建可以成为事件循环一部分的对象,并且可以生成与鼠标和键盘事件共同相等的事件。但是…那是20年前的事了,我可能把它和别的东西弄混了。

在我的特殊情况下,我需要一个侦听器来检查select(),以查看许多UDP端口中的一个是否收到了DGRAM。我需要在不干扰鼠标和键盘事件的情况下发生这种情况,尽管如果我给UDP检查一个更高的优先级会很好。

基本上,我有来自一个或多个其他系统的数字流,将显示在GUI中,我希望用户仍然能够使用按钮等。

根据cocoa事件指南,你可以用NSApplicationDefined类型引发一个事件。

     [NSEvent otherEventWithType:NSApplicationDefined location:modifierFlags:timestamp:windowNumber:context:subtype:data1:data2:]

至于如何提高它们,我不确定你需要什么,但这篇关于苹果开发者列表的文章展示了如何注册UDP侦听器。它通过NSNotificationCenter引发一个通知,但你可以让它成为一个事件。

最新更新