2010-07-06 121 views
1

如何在此特定代碼中使計時器計數器爲零當我單擊重置按鈕 時,值必須轉到00:00:00,並且當我點擊開始按鈕計時器時,應該從開始 開始幫助在這裏iphone中的計步器應用程序

代碼 這.h文件中的代碼

-(void)start 
{ 
timer1 = [NSTimer scheduledTimerWithTimeInterval:(.01) target:self selector:@selector(timepassed) userInfo:nil repeats:YES]; 

} 

這是.m文件

-(void)timepassed 
{ 

counter++; 

    if (counter == 60) { sec++; counter = 0; } 
    if (sec == 60) { min++; sec = 0; } 
    if (min == 60) { hr++; min = 0; } 

NSString *l=[NSString stringWithFormat:@"%i:%i:%i",hr,min,sec]; 

[m setText:l]; 

} 

回答

2

如果需要一個變量,如果定時器正在運行或不控制,那麼你的函數看起來像:

-(void)timepassed 
{ 
    if (isTimerRunning) 
    { 
     counter++; 

     if (counter == 60) { sec++; counter = 0; } 
     if (sec == 60) { min++; sec = 0; } 
     if (min == 60) { hr++; min = 0; } 
    } 
    NSString *l=[NSString stringWithFormat:@"%i:%i:%i",hr,min,sec]; 

    [m setText:l]; 
} 

隨着「開始」和「停止」按鈕,你就只是改變變量「isTimerRunning」的值。 按鈕「復位」的動作應該設置變量「秒」,「分鐘」,「小時」爲零,如果您想停止計時器同時設置「isTimerRunning」爲no。

您應該在應用程序中測試的另一件事是準確性,這樣做(設置間隔爲0.01秒,然後更新計數器)可能不準確。

+0

(isTimerRunning)是什麼意思,它是可變的或者其他想法 – user379760 2010-07-06 08:51:02

+0

它是一個變量,就像「counter」,「sec」,「min」,「hr」一樣。它的目的是控制計時器是否在運行。 – zabbas 2010-07-06 08:59:45

+0

(isTimerRunning)是什麼意思,它是精明的還是一些其他想法 – user379760 2010-07-08 10:52:21

0

爲了讓0的變量去做到以下幾點:

variable = 0; 

爲了讓三個變量去0

counter = 0; 
sec = 0; 
min = 0; 

簡單地說,在你的復位按鈕的動作。

+0

它的工作,但我想要更多 – user379760 2010-07-08 10:51:29

+1

@ harishdy007:更多什麼? – JeremyP 2010-07-08 12:53:39