Frage

Ich versuche, einfache Nutzung des NSNotification Zentrums in meiner iPhone-Anwendung zu machen, aber ich glaube, etwas falsch in diesem Fall zu tun. Ich habe den Eindruck, dass es möglich war, ein Objekt abzurufen, mit einer bestimmten Nachricht zugeordnet ist, oder zumindest eine Referenz auf das Objekt, aber mit dem folgenden Beispielcode Ich erhalte eine Warnung,

"NSNotification Zentrum kann nicht reagieren auf -object"


- (void)addNewBookmark:(NSNotificationCenter *)notification {
    Bookmark *newBookMark = (Bookmark *)[notification object];
        //Do some stuff with the bookmark object
}

Ja, wenn ich kompilieren und den Code ausführen, im Grunde nichts, was ich versuchen, mit dem Inhalt des Objekts zu tun bekommt tatsächlich durchgeführt -. Es wird einfach ignoriert

Die Postleitzahl wird wie folgt,


- (IBAction)save:(id) sender{
    //Sending the message with the related object
    [[NSNotificationCenter defaultCenter]
     postNotificationName:@"addNewBookmark"
     object:bookmark];
}

und das Lesezeichen-Objekt selbst ist nur ein Wörterbuch. Ich habe auch versucht die „userinfo“ Argument und das Lesezeichen-Objekt durch das vorbei, aber das Ergebnis war das gleiche.

Wie soll ich das tun? Was mache ich falsch?

War es hilfreich?

Lösung

Ihre addNewBookmark: Methode sollte ein NSNotification akzeptieren, kein NSNotificationCenter.

NSNotification sollte -object reagieren wie erwartet.

Ein Benachrichtigungszentrum ist das Objekt, verantwortlich für die Verfolgung, der zuhört und das Senden von Benachrichtigungen (nicht Zentren) zu ihnen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top