2012-10-03 7 views
12

ist mein AppDelegate Klasse für eine bestimmte Meldung wie unter wo soll ich removeObserver in AppDelegate.m setzen, ios

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 

    { 

     [[NSNotificationCenter defaultCenter] addObserver:self 
               selector:@selector(applyThemeA:) 
                name:@"ThemeA" 
                object:nil]; 

    } 

Und applyThemeA tut (nur nicht viel)

- (void)appleThemeA:(NSNotification*)notification { 
    NSLog(@"apply themeA"); 
} 

Ich Platzierung registriert removeObserver in applicationWillTerminate, aber nicht so sicher, es ist ein guter Weg für sie.

Frage

Ist es ein guter Ort, in diesem Verfahren zu platzieren.

Ich möchte nur sicherstellen, dass ich die richtige Art und Weise tue. Wenn die Frage nicht angemessen ist, bitte stimmen Sie nicht ab. Sagen Sie mir einfach Bescheid. Danke

Antwort

21

Es ist vollkommen angemessen. Ihr Listener wird beim Start der App erstellt und sollte daher beim Beenden der App zerstört werden.

Technisch gesehen ist es aber nicht wirklich notwendig. Wenn Ihre Anwendung beendet wird, wird alles zerstört, einschließlich des Hörers.

+0

Ich werde Ihre in 8 Minuten akzeptieren :) – tranvutuan

+0

Ich habe in 5 Sekunden mit abgestimmt – morroko