简单来说,我在ClassA
(在viewDidLoad
中)注册以下的NSNotification
监听器:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(playSong) name:@"playNotification" object:nil];
我在ClassA.h
中声明了选择器:
- (void)playSong:(NSNotification *) notification;
实现过程如下:
- (void)playSong:(NSNotification *) notification {
NSString *theTitle = [notification object];
NSLog(@"Play stuff", theTitle);
}
在tableView:didSelectRowAtIndexPath:
方法中的ClassB
类中,我有以下代码:
NSInteger row = [indexPath row];
NSString *stuff = [playlistArray objectAtIndex:row];
[[NSNotificationCenter defaultCenter] postNotificationName:@"playNotification" object:stuff];
最终出现了一个错误消息:
"向实例发送了未识别的选择器"
在调用playSong
方法之前。
能否有人在这里帮我解决?当我从一个控制器发布通知到另一个控制器时,我忘了什么吗?
:
。在我的情况下,去掉:
就解决了问题。 - PassKit