iphone Benachrichtigung Ergebnisse in „Unbekannter Selektor an Instanz gesendet ...“
-
12-10-2019 - |
Frage
Um es kurz zu machen, ich bin die folgenden NSNotification
Zuhörer in ClassA
Registrierung (in viewDidLoad
):
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(playSong) name:@"playNotification" object:nil];
Ich habe die Wähler in ClassA.h
erklärt:
- (void)playSong:(NSNotification *) notification;
Und Umsetzung geht wie folgt vor:
- (void)playSong:(NSNotification *) notification {
NSString *theTitle = [notification object];
NSLog(@"Play stuff", theTitle);
}
In ClassB
(im tableView:didSelectRowAtIndexPath:
Methode) Ich habe:
NSInteger row = [indexPath row];
NSString *stuff = [playlistArray objectAtIndex:row];
[[NSNotificationCenter defaultCenter] postNotificationName:@"playNotification" object:stuff];
Das alles am Ende mit einer Fehlermeldung, die besagt:
"Unbekannter Selektor gesendet Instanz"
, bevor die playSong
Methode aufgerufen wird.
Kann jemand bitte helfen Sie mir hier draußen? Was bin ich zu vergessen, wenn eine Benachrichtigung von einem Controller zum anderen Posting?
Lösung
Ihre @selector
brauchen einen :
Charakter, wenn es ein Argument nehmen:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(playSong:) name:@"playNotification" object:nil];
Instanzen von ClassA
tun nicht reagiert auf den playSong
Wähler, aber sie tun reagiert auf den playSong:
Selektor.