시스템 사운드를 재생 한 후에 네이티브 c 함수에 대한 콜백을 수행하는 응용 프로그램을 개발 중입니다. 이런 일이 발생하면 이벤트를 발생시키고 자합니다. 따라서 내 뷰의 가입자가이를 처리 할 수 있습니다.네이티브 C 함수 내부에서 이벤트 발생?
-(void) completionCallback(SystemSoundID mySSID, void* myself) {
[[NSNotificationCenter defaultCenter] postNotificationName:@"SoundFinished" object: myself];
}
내가보기에
unrecognized selector sent to instance ...
을받을 나는 다음과 같은 코드가 있습니다 오브젝티브 -C에
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(soundStopped) name:@"SoundFinished" object:nil];
...
-(void) soundStopped: (NSNotification*) notification {
NSLog(@"Sound Stopped");
}
나는 매우 새를, 나는 어디로 잘못 가고 있니?
업데이트 정확한 오류는 다음과 같습니다
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'
두 번째 오류의 이유는 매크로가 [[[NSNotificationCenter] defaultCenter]] –
으로 확장된다는 것입니다. @Chris가 말한 것에 유의하십시오. 'center' 매크로는 객체를 나타내므로 [[center] post ...]' '[[obj] method ...]'와 같이 유효하지 않은 구문입니다. 'completionCallback()'에서'[[center] post ...]'를'[center post ...]'로 변경하십시오. –
@Chris Thanks - 해결하기 위해 노력하고있는 실제 문제가 아니기 때문에이 문제를 제거했습니다. –