0
我有這將在viewDidLoad中被初始化,並在viewDidUnload發佈一個計時器,但我發現viewDidUnload nerver被調用,每次視圖被呈現給用戶的viewDidLoad中被調用,所以我同時運行多個計時器..這不是我想要的。我應該什麼時候解僱計時器?
我只是想阻止&發佈時用戶導航到該視圖離開計時器,我該怎麼辦呢?
我有這將在viewDidLoad中被初始化,並在viewDidUnload發佈一個計時器,但我發現viewDidUnload nerver被調用,每次視圖被呈現給用戶的viewDidLoad中被調用,所以我同時運行多個計時器..這不是我想要的。我應該什麼時候解僱計時器?
我只是想阻止&發佈時用戶導航到該視圖離開計時器,我該怎麼辦呢?
請勿初始化它視圖做負載,而不是將其初始化鑑於將衝擊片雷管,並停止在視圖將dissapear,這樣當您離開它會停止和重新啓動,一旦你回來了這一觀點。
我有你有完全相同的問題。這是代碼,以防萬一你需要它:
- (void)viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];
NSLog(@"View will appear");
myTimer = [NSTimer timerWithTimeInterval:5.0 target:self selector:@selector(pageCycler) userInfo:nil repeats:YES];
[[NSRunLoop mainRunLoop] addTimer: myTimer forMode: NSDefaultRunLoopMode];
}
- (void)viewWillDisappear:(BOOL)animated {
[super viewWillDisappear:animated];
NSLog(@"View will dissapear");
[myTimer invalidate];
myTimer=nil;
}
基督徒答案正確viewwilldisapper是無效的定時器和setMyTimer = nil在viewdidunload正確的地方。 –
感謝@Pandey_Laxman,我忘了放行:myTimer = nil; – Christian