0

私の進行状況バーは次のようにコーディングされています:

.h ファイル

@interface ViewController : UIViewController {

    IBOutlet UIProgressView *wait_progress;
    double wait_time;
    NSTimer *wait_timer;

}
-(void) increase_waiting_time;

.m ファイル

-(void) increase_waiting_time {
    wait_time = wait_time + 0.01;
    wait_progress.progress = wait_time;
}

-(IBAction)start:(id)sender {
    wait_timer = [NSTimer scheduledTimerWithTimeInterval:0.1 target:self selector:@selector(increase_waiting_time) userInfo:nil repeats:YES];
}

プログレスバーがロードされた直後に何らかのアクションを実行するにはどうすればよいですか (つまり、wait_time が 1 になることを意味します)?

4

1 に答える 1

0

簡単なifステートメントで機能します。問題のある浮動小数点数の比較(等しいかどうかのテスト)に違反していると思います。件名についてグーグルを持っています。SOに関する回答もあります(このように)。

基本的に、等価性をチェックしないでください - 機能しません。代わりに、比較に必要な精度を決定し、テスト<=>=て、値がその範囲内にあることを確認します。あなたにとっては、単に使用するだけで十分かもしれません>= 1

于 2013-10-08T21:05:44.780 に答える