我正在开发一个在播放系统声音后对本机c函数进行回调的应用程序。我想在发生这种情况时引发一个事件,因此我认为一个订阅者可以处理它。
-(void) completionCallback(SystemSoundID mySSID, void* myself) {
[[NSNotificationCenter defaultCenter] postNotificationName:@"SoundFinished" object: myself];
}
我收到了
unrecognized selector sent to instance ...
在视图上,我有以下代码:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(soundStopped) name:@"SoundFinished" object:nil];
...
-(void) soundStopped: (NSNotification*) notification {
NSLog(@"Sound Stopped");
}
我对Objective-C极为陌生,哪里出问题了?
更新确切的错误是:
2011-04-18 19:27:37.922 AppName[5646:307] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[BackgroundTestViewController soundStopped]: unrecognized selector sent to instance 0x13b4b0'
最佳答案
-soundStopped
和-soundStopped:
是两个不同的方法名称。冒号是方法名称的一部分,但是您在调用-addObserver:selector:name:
时将其忽略了。
关于iphone - 从本地c函数引发事件?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5709094/