Пытаясь сделать таймер обратного отсчета от заданного NSTimeInterval, метка, похоже, не обновляется.Что не так с моим методом таймера обратного отсчета?
- (IBAction)startTimer:(id)sender{
timer = [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(timerAction:) userInfo:nil repeats:YES];
}
- (void)timerAction:(NSTimer *)t {
if(testTask.timeInterval == 0){
if (self.timer){
[self timerExpired];
[self.timer invalidate];
self.timer = nil;
}
else {
testTask.timeInterval--;
}
}
NSUInteger seconds = (NSUInteger)round(testTask.timeInterval);
NSString *string = [NSString stringWithFormat:@"%02u:%02u:%02u",
seconds/3600, (seconds/60) % 60, seconds % 60];
timerLabel.text = string;
}
testTask задается пользователем, я тестировал его на задаче с временным интервалом в 10 секунд. Он показывает 10 секунд, но ничего не показывает. – EvilAegis
и временной интервал никогда не уменьшается – EvilAegis
Вы поставили точку останова в методе timerAction? это на самом деле называется? –