5

でタイマーを使用するのは初めてでiPhone、サポートが必要です。

私は以下のように時間をかけて更新する方法を持っていUILabelますuserinterface。また、NSTimerそのメソッドを 1 秒に 1 回呼び出す もあります (時間と分のみを表示しています)。アプリがライブである最初の 1 秒を除いて、これは問題なく動作します (timerメソッドを呼び出す前に 1 秒かかることを理解しているため)。

からメソッドを呼び出したいのviewDidLoadですが、正しい引数を指定するにはどうすればよいですか? または、これを行うより良い方法はありますか?

// Timer for updating time
[NSTimer scheduledTimerWithTimeInterval:1.0f 
                                 target:self 
                               selector:@selector(updateTime:) 
                               userInfo:nil 
                                repeats:YES];   


-(void)updateTime: (NSTimer *) timer {

    currentTime = [NSDate date];
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    // display in 12HR/24HR (i.e. 11:25PM or 23:25) format according to User Settings
    [dateFormatter setTimeStyle:NSDateFormatterShortStyle];
    NSString *currentTimeString = [dateFormatter stringFromDate:currentTime];
    [dateFormatter release];

    timeLabel.text =  currentTimeString;
}

私を正しい方向に向ける何かに感謝します。

4

2 に答える 2

2

もう1つのオプション...次のことができます:

[NSTimer scheduledTimerWithTimeInterval:0.01f 
                                 target:self 
                               selector:@selector(updateTime:) 
                               userInfo:nil  
                                repeats:NO];    

[NSTimer scheduledTimerWithTimeInterval:1.0f 
                                 target:self 
                               selector:@selector(updateTime:) 
                               userInfo:nil 
                                repeats: YES];
于 2010-06-22T04:32:15.710 に答える
2

あなたのメソッドでは、タイマー変数を使用していませんか? では、なぜ[self updateTime:nil]. それはうまくいくはずです

于 2010-06-22T04:12:41.717 に答える