NSNotificationCenter in Bezug auf ViewWillAppear und ViewWillDisapper

Ich habe einen einfachen viewController, auf den ich hören möchteUIKeyboardWillHideNotification. Deshalb habe ich folgenden Code:

- (void) viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];
    [[NSNotificationCenter defaultCenter] addObserver:self
                                             selector:@selector(keyboardWillBeHidden)
                                                 name:UIKeyboardWillHideNotification object:nil];
}

- (void) keyboardWillBeHidden
{
    [self.scrollView setContentOffset:CGPointMake(0, 0) animated:YES];
}

Ich versuche zu entscheiden, wann der viewController als Benachrichtigungscenter-Beobachter entfernt werden soll. Ich muss nur über das wissenUIKeyboardWillHideNotification Wenn der Viewcontroller auf dem Bildschirm angezeigt wird, denke ich darüber nach, Folgendes hinzuzufügen:

- (void) viewWillDisappear:(BOOL)animated
{
    [super viewWillDisappear:animated];
    [[NSNotificationCenter defaultCenter] removeObserver:self];
}

Ist das ausreichend? Gibt es jemals eine Chance dasviewDidUnload oderdealloc wird aufgerufen, während der viewController noch auf dem Bildschirm ist? Beachten Sie, dass ich ein sehr einfaches verwendeUINavigationController für den Fluss meiner App.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage