NSTimer Count Up - PullRequest
       43

NSTimer Count Up

1 голос
/ 01 ноября 2011

Я пытаюсь создать NSTimer, который отсчитывает время с 00:00:00 до того момента, когда пользователь нажимает «Стоп».Я создал NSDateInterval за 1 секунду, но не могу подсчитать его с 00:00:00, только текущую дату или дату, которую я установил.

Каков наилучший способ сделать это?И это NSTimer лучший способ сделать это, или я должен просто получить разницу между временем, которое пользователь нажимает на первую кнопку ([NSDate date], чтобы установить ее), и временем в эту секунду (селектор сработал на NSTimer)?Я хочу удостовериться, что ошибка точности настолько мала, насколько это возможно, и иногда я знаю о проблемах NSTimer с точностью.

1 Ответ

2 голосов
/ 01 ноября 2011

Сохраните время, когда таймер запускается с [Дата NSDate], а затем запишите время, когда он также остановился. Время отображения будет разницей, отображаемой как вы перечислили. NSTimer будет использоваться только для запуска обновления, и вы можете установить довольно небольшой интервал, скажем, 1/10 секунды. Что-то вроде:

[NSTimer scheduledTimerWithTimeInterval: 0.1f target: self 
    selector: @selector(updateTimeDisplay) userInfo: nil repeats: YES];
...