0

我希望计时器在文本字段的用户定义输入处停止,然后重置并重复,直到达到用户定义的重复次数(另一个文本字段)。这在我使用滑块时效果很好,但是我在使用滑块时遇到了其他一些问题,所以我改为使用文本字段。我认为问题是将文本字段转换为数值,我尝试了许多不同的方法但没有成功。该应用程序是一个简单的锻炼重复计数器,带有保持时间。非常感谢任何帮助。谢谢...

-(void)countup {   

float floatHoldTime=[holdTimeText.text floatValue];
float floatReps=[repsText.text floatValue];

CountHold ++;
displayHoldTime.text = [NSString stringWithFormat:@"%i", CountHold];

if (CountHold == floatHoldTime) {
    CountRep ++;    
    displayReps.text = [NSString stringWithFormat:@"%i", CountRep];
    CountHold = 0; 
}

if (CountRep == floatReps) {
    [Timer invalidate];
    Timer = nil;
}

}

-(IBAction)start:(id)sender {
Timer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(countup) userInfo:nil repeats:YES];
}
4

1 回答 1

0

我怀疑问题在于您的浮点数和我认为的 int (CountHold) 永远不会完全相等,因为浮点数在计算机内部的表示方式。要么制作 floatHoldTime 和 floatReps 整数,要么让你比较类似 CountHold - floatHoldTime < 0.01 以允许一点点倾斜。

于 2012-08-27T21:17:39.150 回答