2014-01-15 157 views
0

我有一個應用程序,其中使用了UIView的子類。在這個子類中,我創建了一個NSTimer,並在定時器的選擇器方法中調用了創建子類​​實例的UIViewController中的一個方法。我遇到的問題是UIViewController位於導航控制器中,如果應用程序遠離視圖控制器,則應用程序會在計時器嘗試在無視圖控制器中調用方法時崩潰。在UIViewController中調用委託方法

這裏是在UIView子類

- (void)timerMethod:(NSTimer *)localTimer 
{ 
    secondCount++; 
    __weak MySubclass *weakSelf = self; 
    [weakSelf.delegate updateTime:secondCount]; 
} 

我的計時方法,我怎樣才能解決這個問題呢?預先感謝任何幫助!

回答

0

當遠離視圖控制器時使定時器無效。

使用NSTimer invalidate方法可以阻止接收器再次觸發並請求將其從運行循環中移除。

+0

在子類中有沒有辦法這樣做?我知道我可以準備在視圖控制器中使用segue。這也可以在UIView子類中完成嗎? – user906357

相關問題