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

問題は、float と私が推定する int (CountHold) が、コンピューター内で float が表現される方法のために、完全に等しくならないことであると思われます。floatHoldTime と floatReps を整数にするか、CountHold - floatHoldTime < 0.01 のように比較して、わずかなスロープを許容します。

于 2012-08-27T21:17:39.150 に答える