我正在尝试将 GCController 框架集成到我的项目中。我对Objective-C不太熟悉,所以请原谅我对它应该如何工作的无知。
我有一个扩展 NSOpenGLView 的类,它为各种控制器通知注册观察者方法,如下所示:
-(void)awakeFromNib
{
// Do some stuff
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(controllerStateChanged) name:GCControllerDidConnectNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(controllerStateChanged) name:GCControllerDidDisconnectNotification object:nil];
}
我已经定义了一个超级简单的处理程序:
- (void)controllerStateChanged {
NSLog (@"something happened, let's check it out\n");
}
问题是,这些事件/通知似乎永远不会触发 - 当我检查 [GCController 控制器] 时,它完全是空的。
当然,如果没有控制器,就没有事件是有道理的——所以也许我做错了什么?
或者,无论出于何种原因 - 我的控制器根本无法生成所需的事件(我使用的是在操作系统中注册的 PS4 控制器,无论是无线还是通过 USB,所以我不确定我在这里缺少什么)。
我还需要在其他地方启用这些通知吗?我需要以某种方式初始化 GCController 框架吗?