在iPhone的计步器应用程序

时间:2010-07-06 06:14:03

标签: iphone objective-c

当我点击重置按钮时,如何在此特定代码中使计时器计数器为零 值必须转到00:00:00,当我点击开始按钮时,应该从启动开始 请帮忙

代码在这里 这在.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 个答案:

答案 0 :(得分: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”的值。 按钮“复位”的操作应该设置变量“sec”,“min”,“hr”为零,如果你想在同一时间停止定时器,将“isTimerRunning”设置为no。

您应该在应用程序中测试的另一件事是准确性,这样做(设置间隔为0.01秒,然后更新计数器)可能不准确。

答案 1 :(得分:0)

要使变量变为0,请执行以下操作:

variable = 0;

使三个变量变为0

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

只需将其放入重置按钮的操作中即可。