1

私はこのコードを使用しています:

timer = [NSTimer scheduledTimerWithTimeInterval:2
                                         target:self
                                       selector:@selector(update)
                                       userInfo:nil
                                        repeats:YES];
...

-(void)update {
    NSDate *date = [NSDate date];
    NSString *Currentdate = [date descriptionWithCalendarFormat:@"%b %d, %Y %I:%M:%S %p" 
                                                       timeZone:nil
                                                         locale:nil];
    lbl.text = Currentdate;
}

正常に動作しますが、実行時にタイマー間隔を 2 秒から 1 秒に変更したいと考えています。これどうやってするの?

前もって感謝します。

4

2 に答える 2

10

作成後にタイマー間隔を変更することはできません。

// You have to invalidate it...be careful, 
// this releases it and will crash if done to an already invalidated timer

if (self.timer != nil) {
    [self.timer invalidate];
    self.timer = nil;


//... then declare a new one with the different interval.

timer = [NSTimer scheduledTimerWithTimeInterval:newInterval
                                     target:self
                                   selector:@selector(update)
                                   userInfo:nil
                                    repeats:YES];
}
于 2009-08-20T11:17:47.383 に答える