2013-11-27 83 views
-3

我認爲控制器之一,我已插入以下代表:UI應用代表沒有被調用

- (void)applicationWillResignActive:(UIApplication *)application 
{ 
    NSLog(@"Application Did Resign Active"); 
} 

- (void)applicationDidEnterBackground:(UIApplication *)application 
{ 
    NSLog(@"Application Did Enter Background"); 
} 


- (void)applicationWillEnterForeground:(UIApplication *)application 
{ 
    NSLog(@"Application Will Enter Foreground"); 
} 



- (void)applicationDidBecomeActive:(UIApplication *)application 
{ 
    NSLog(@"Application Did Become Active"); 
} 

的NSLog是顯示無來者被調用的代表。這是爲什麼發生?我怎樣才能解決這個問題?

+0

您需要將這些代表置於'AppDelegate'中,它們將在那裏調用。 –

回答

3

只有在應用程序委託中,此方法纔會觸發。在多個地方使用應用程序委託方法不可取。

如果您喜歡根據應用程序操作在您的視圖控制器中執行操作,則可以使用類似這樣的通知。

[[NSNotificationCenter defaultCenter] addObserver:self 
    selector:@selector(customMethodsinViewController:) 
    name:UIApplicationDidBecomeActiveNotification 
    object: nil]; 
+0

好的。我將如何處理視圖控制器中創建的無效定時器? – PanicDev

+0

@PanicDev,你可以根據需要使viewWillDisappear或dealloc中的定時器無效。 – rdelmar