Чтобы сделать это коротко, я регистрирую следующий NSNotification
прослушиватель в ClassA
(в viewDidLoad
):
[[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);
}
В ClassB
(в методе tableView:didSelectRowAtIndexPath:
) у меня есть:
NSInteger row = [indexPath row];
NSString *stuff = [playlistArray objectAtIndex:row];
[[NSNotificationCenter defaultCenter] postNotificationName:@"playNotification" object:stuff];
В итоге все выдает сообщение об ошибке:
"непризнанный селектор, отправленный в экземпляр"
до вызова метода playSong
.
Может кто-нибудь, пожалуйста, помогите мне здесь? Что я забываю при отправке уведомления с одного контроллера на другой?