Ich versuche, ein NSDictionary Formular eine UIView zu einem UIViewController mit NSNotificationCenter übergeben. Das Wörterbuch funktioniert gut zum Zeitpunkt der Benachrichtigung, aber in der Empfangsmethode kann ich nicht auf eines der Objekte im Wörterbuch zugreifen.Wie ein NSDictionary mit postNotificationName übergeben: Objekt:
Hier ist, wie ich das Wörterbuch erschaffe und veröffentlichen die Mitteilung ...
itemDetails = [[NSDictionary alloc] initWithObjectsAndKeys:@"Topic 1", @"HelpTopic", nil];
[[NSNotificationCenter defaultCenter] postNotificationName:@"HotSpotTouched" object:itemDetails];
Im UIViewController ich den Betrachter setze ...
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(hotSpotMore:)
name:@"HotSpotTouched"
object:nil];
Für Testzwecke hotSpotMore sieht aus wie dies ...
Der erste NSLog funktioniert einwandfrei und zeigt den Inhalt von th an das Wörterbuch. Das zweite Protokoll wirft die folgende Ausnahme ...
[NSConcreteNotification objectForKey:]: unrecognized selector sent to instance 0x712b130
Ich verstehe nicht, warum ich keine Objekte in dem übergebenen Wörterbuch zugreifen kann.
Vielen Dank im Voraus für jede Hilfe.
John
große Hilfe !! Danke, das hat funktioniert. Ich sehe, dass ich die Themen zur Benachrichtigungsprogrammierung nicht sorgfältig genug gelesen habe. – user278859
+1 für das Programm wird empfindungsfähig und versucht, Sie zu betrügen :) –
Alte Post, aber immer noch sehr wertvoll. Danke dafür! Nur eine kurze Anmerkung: userInfo: nimmt ein NSDictionary. Wenn Sie versuchen, ein anderes Objekt zu übergeben, müssen Sie es in ein Wörterbuch einfügen. – Alex