簡體   English   中英

我應該如何在tabbar iPhone應用程序中管理我的NSTimer?

[英]How should I manage my NSTimer in a tabbar iPhone app?

我有一個基於tabbar的應用程序,有三個選項卡,其中一個是運行時鍾。 要為時鍾UI設置動畫,我使用每秒觸發一次的NSTimer。 如果用戶將切換進出各種選項卡,我該如何管理此計時器?

  1. 我可以在應用程序首次運行時使用scheduledTimerWithTimeInterval來創建和計划計時器,並在應用程序關閉時讓它死掉嗎? 或者我應該在時鍾選項卡的rootview控制器中為計時器維護一個實例變量,並使用addTimer:forMode:invalidate
  2. 如果是梯形圖,我應該多久添加一次並使計時器無效? 在我的viewWillAppearviewWillDisappear方法的時鍾選項卡的根視圖控制器? 別的地方?

非常感謝您的智慧!

什么@samsam說,加上這個:設置為1秒的計時器不保證在第二秒精確射擊。 它將被安排在每秒一次的可用處理時間。 在許多情況下,它會非常接近計划的確切時間,但很少會在那時完成,如果應用程序忙於其他事情,它可能會相當多。

如果真的很重要的是你的時鍾實際上每秒鍾打一次(如果不是那么它就不會是一個時鍾),你希望你的計時器比這更頻繁,並在它注意到時更新UI它看的時間價值已經改變了。

我會做以下事情:

如果出現Clock-View - >將Clock設置為當前時間,則啟動一個每秒更新一次的定時器:

clockRefreshTimer = [NSTimer scheduledTimerWithTimeInterval: 1 target: self selector:@selector(updateClockView) userInfo:nil repeats:YES]

如果時鍾視圖即將消失,則定時器無效

[clockRefreshTimer invalidate];

這樣您就不會進行不必要的更新。

希望我能幫忙,
SAM

暫無
暫無

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

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