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.