3

初めての iPhone アプリケーションを開発しています。x秒ごとにデバイスの速度でラベルを更新する必要があります。私は自分自身を作成し​​、デバイスの速度を取得できますが、ラベルを更新するためCLControllerに使用する必要があるかどうかはわかりません. NSTimerどうすればいいですか?

4

2 に答える 2

7

このようにタイマーをスケジュールできます

NSTimer *myTimer = [NSTimer scheduledTimerWithTimeInterval:YOUR_INTERVAL 
                       target:self 
                       selector:@selector(updateLabel) 
                       userInfo:nil 
                       repeats:YES];

以下のメソッドは、YOUR_INTERVAL (秒単位) ごとに呼び出されます。

- (void) updateLabel {
    myLabel.text = @"updated text";
}

タイマーを停止するには、タイマー オブジェクトで無効化を呼び出すことができます。そのため、タイマーをメンバー変数として保存して、どこからでもアクセスできるようにすることをお勧めします。

[timer invalidate];
于 2011-03-23T10:58:27.013 に答える
2

そうです、NSTimerを使用する必要があります。x 秒後に 1 つのメソッドを呼び出し、ラベルを更新します。

[NSTimer scheduledTimerWithTimeInterval:x  target:self selector:@selector(updateLabel) userInfo:nil repeats:YES];

-(void)updateLabel
{
    // update your label
}
于 2011-03-23T10:57:49.947 に答える