iPhone: отсчет NSTIMER (отображение минут: секунды)

StackOverflow https://stackoverflow.com/questions/2626587

  •  26-09-2019
  •  | 
  •  

Вопрос

У меня установлено мой код таймера, и это все кошерные, но я хочу, чтобы мой ярлык отображать «минуты: секунды» вместо всего секунды.

-(void)countDown{

    time -= 1;

    theTimer.text = [NSString stringWithFormat:@"%i", time];

    if(time == 0)
    {
    [countDownTimer invalidate];
    }
}

Я уже установил «Время» до 600 или 10 минут. Тем не менее, я хочу, чтобы дисплей показать 10:59, 10:58 и т. Д. До этого не достигнет нуля.

Как мне это сделать?

Спасибо!

Это было полезно?

Решение

int seconds = time % 60;
int minutes = (time - seconds) / 60;
theTimer.text = [NSString stringWithFormat:@"%d:%.2d", minutes, seconds];

Другие советы

К тому времени мне было немного обновление первого ответа, он удалил конфликты, связанные с NSInteger и int:

NSInteger secondsLeft = 987;
int second = (int)secondsLeft % 60;
int minutes = ((int)secondsLeft - second) / 60;
theTimer.text = [NSString stringWithFormat:@"%02d:%02d", minutes, second]];
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top