wie man die Objekteigenschaft von NSNotificationcenter verwendet
Könnte jemand mir bitte zeigen, wie die object-Eigenschaft auf NSNotifcationCenter. Ich möchte in der Lage sein, um es zu verwenden, übergeben Sie einen integer-Wert, um mein selector-Methode.
Dies ist, wie ich die notification listener in meine UI-Ansicht. Zu sehen, wie ich wollen, dass ein ganzzahliger Wert übergeben werden, ich bin mir nicht sicher, was zu ersetzen nil mit.
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(receiveEvent:) name:@"myevent" object:nil];
- (void)receiveEvent:(NSNotification *)notification {
//handle event
NSLog(@"got event %@", notification);
}
Ich Versand der Meldung von einer anderen Klasse wie dieses. Der Funktion übergeben Sie eine variable mit dem Namen index. Es ist dieser Wert, dass möchte ich irgendwie Feuer aus mit der Meldung.
-(void) disptachFunction:(int) index
{
int pass= (int)index;
[[NSNotificationCenter defaultCenter] postNotificationName:@"myevent" object:pass];
//[[NSNotificationCenter defaultCenter] postNotificationName:<#(NSString *)aName#> object:<#(id)anObject#>
}
InformationsquelleAutor der Frage dubbeat | 2010-11-30
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den
object
parameter repräsentiert den Absender der Mitteilung, die in der Regelself
.Wenn Sie möchten, übergeben Sie zusätzliche Informationen, die Sie brauchen, um die Nutzung
NSNotificationCenter
MethodepostNotificationName:object:userInfo:
nimmt, die einem beliebigen Wörterbuch-Werte (Sie sind frei zu definieren). Der Inhalt muss aktuell seinNSObject
Instanzen, die nicht einem ganzzahligen Typ wie integer, so müssen Sie wickeln Sie die integer-Werte mitNSNumber
Objekte.InformationsquelleAutor der Antwort gavinb
Den
object
Eigenschaft ist nicht geeignet für das. Stattdessen wollen Sie dasuserinfo
parameter:userInfo
ist, wie Sie sehen können, ein NSDictionary, die speziell für das senden von Informationen zusammen mit der Benachrichtigung.Ihre
dispatchFunction
Methode wäre, statt so etwas wie dieses:Ihre
receiveEvent
Methode wäre so etwas wie dieses:InformationsquelleAutor der Antwort Matthew Frederick