Ошибка с таймером мм: сс
Я новичок в цели C.
Я играл с обратным отсчетом в течение некоторого времени, и я не могу заставить его работать.
Я связываю очень многое в раскадровке, и кнопки реагируют, но кажется, что это просто случайный обратный отсчет.
почему я не делаю обратный отсчет, как с 10:00 до 09:59.
- (void)showActivity{
int currentTime = [time.text intValue];
int newTime = currentTime - 1;
int seconds = newTime % 60;
int minutes = (newTime / 60) % 60;
time.text = [NSString stringWithFormat:@"%02d:%02d", minutes, seconds];
}
1 ответ
Решение
Если time.text
это "10:00", то звонит [time.text intValue]
просто собирается вернуть целое число 10
,
Я бы порекомендовал создать отдельную переменную (возможно, NSTimeInterval
), который отслеживает, сколько секунд осталось, а затем сделать time
текстовая метка просто отвечает за отображение в виде минут: секунд.
например
@property NSTimeInterval time;
@property UILabel *timeLabel; // "time" in your original code
- (void)showActivity {
NSTimeInterval newTime = self.time - 1;
int minutes = floor(newTime / 60);
int seconds = round(newTime - (minutes * 60));
self.timeLabel.text = [NSString stringWithFormat:@"%02d:%02d", minutes, seconds];
self.time = newTime;
}