2010-11-10 116 views
0

我正在潛心研究iOS開發,並試圖在我的某個視圖中創建一個向上計時器。我有NSTimer代碼計算出每0.04秒調用一次選擇器,更新UILabel。我遇到問題的地方是當前時間格式化(最初從00:00開始)。我認爲最好的方法是使用NSDate類和相關類(NSDateFormatter,NSDateComponents等),但操縱日期和格式真的讓我感到困惑,代碼很快就變得笨拙。我希望有一些SO用戶可以很好的使用NSDate類,它可以幫助我找到一種簡單的方法來計算當前計時器的計時器並將其轉換爲NString格式爲「seconds:milliseconds」。如何使用seconds:milliseconds格式創建遞增計時器?

我會很高興,如果要求後我在NSDate碼初步嘗試,但我會,因爲它是沒有用的不是最初真正的尷尬:)

回答

3

如果你只是想顯示時間以來經過你開始你的計時器,你可以在某處存儲起始日期(比如startDate變量),並使用當前日期計算時間間隔。像下面的東西應該工作:

NSTimeInterval passed = [[NSDate date] timeIntervalSinceDate: startDate]; 
double intPart; 
double fract = modf(passed, &intPart); 
label.text = [NSString stringWithFormat:@"%d:%.2f", (int)intPart, fract]; 
+0

謝謝,很簡單,我會試試看! – BeachRunnerFred 2010-11-10 21:24:44

+0

希望能工作:) – Vladimir 2010-11-10 21:26:38