簡體   English   中英

我什么時候應該解雇計時器?

[英]when should I dismiss the timer?

我有一個計時器,該計時器將在viewDidLoad上初始化,並在viewDidUnload上釋放,但是我發現viewDidUnload神經元被調用,並且每次向用戶顯示該視圖時,都會調用viewDidLoad,所以我有許多同時運行的計時器...不是我想要的

我只想在用戶離開此視圖時停止並釋放計時器,該怎么辦?

不要在加載后的視圖上初始化它,而是在視圖中初始化它會消失,在視圖中停止它會消失,這樣,它將在您離開時停止,並在返回該視圖時重新啟動。

我遇到了與您完全相同的問題。 這是代碼,以防萬一您需要它:

- (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;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM