2012-10-03 62 views
12

我AppDelegate類被註冊爲特定的通知像下面我應該在哪裏放removeObserver在AppDelegate.m,IOS

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

    { 

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

    } 

而且applyThemeA做(只是沒有太多)

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

我把removeObserverapplicationWillTerminate,但不太確定這是一個好方法。

問題

它是放置在這個方法的好地方。

我只是想確保我做了正確的方式。如果問題不恰當,請不要投票。請讓我知道。謝謝

回答

21

這是完全合適的。您的監聽器是在應用程序啓動時創建的,因此應用程序退出時應該銷燬它。

從技術上講,它並不是真的需要。當您的應用程序退出時,所有內容都將被銷燬,包括監聽器。

+0

我會在8分鐘內接受你:) – tranvutuan

+0

我已經在5秒內投票了 – morroko