Frage

Gibt es eine Möglichkeit auf dem NSNotificationCenter zu brechen einen Hinweis mit einem bestimmten Namen zu veröffentlichen? Ich habe eine Klasse, die aus irgendeinem Grunde nicht en erwarteten Note erhalten ...

Bearbeiten zur Klarstellung:

Ich habe einen Beobachter für die MPMoviePlayerPlaybackDidFinishNotification hinzugefügt, aber aus irgendeinem Grunde scheint es, als ob die Mitteilung nicht wie erwartet gesendet. Ein normaler Fehler ist hier, dass mein Objekt aus irgendeinem Grunde selbst als Beobachter abgemeldet hat (auch wenn ich meinen Code auf dem Teil suchen gültig zu finden). So, das war meine Absicht, ob es möglich ist, brechen auf den NSNotificationCenter tatsächlich vorbei an einem NotificationName eines bestimmten Typs, in diesem Fall MPMoviePlayerPlaybackDidFinishNotification ...

War es hilfreich?

Lösung

Fügen Sie einen Haltepunkt in Xcode mit dem Namen "- [NSNotificationCenter postNotification:]" mit dem Feld im Screenshot angezeigt. Denken Sie daran, dass dies aufhören für alle Meldung veröffentlicht, so möchten Sie vielleicht der Debugger haben protokollieren die Argumente und AUTO-.

Andere Tipps

Sie können die Bruchstelle in Methoden setzen, die Sie für bestimmtes Ereignis nennen. z.

NSNotificationCenter * nc = [NSNotificationCenter defaultCenter];

[nc addObserver:self selector:@selector(keyboardWillShow:) name: UIKeyboardWillShowNotification object:nil];
[nc addObserver:self selector:@selector(keyboardWillHide:) name: UIKeyboardWillHideNotification object:nil];

Hier können Sie Bruchstelle in keyboardWillShow und keyboardWillHide Methode, die Aufforderung an die Zeit der Tastaturereignisse verwendet werden.

So Sie gültige Ereignisnamen und gültigen Objektnamen angeben müssen.

Bei Textfeld als ein Objekt, das Sie wie folgt verwenden

NSNotificationCenter *notificationCenter = [NSNotificationCenter defaultCenter];

[notificationCenter addObserver:self
                       selector:@selector (handle_TextFieldTextChanged:)
                           name:UITextFieldTextDidChangeNotification
                         object:self.lockTextField];

so denke ich, Sie Mitteilung in der richtigen Art und Weise hinzufügen müssen.

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