Таймер высокого разрешения для iPhone?

* означает ноль или больше, а + означает один или более. Поэтому разница в том, что пустая строка будет соответствовать второму выражению, но не первой.

13
задан zpasternack 22 August 2010 в 04:57
поделиться

2 ответа

Посмотрите на mach_absolute_time () в заголовке mach / mach_time.h.

Не используйте NSDate. NSDate даже не гарантирует, что время от времени не вернется назад, когда ntp делает свое дело.

(У устройств может быть дрейф часов. Если устройство iOS дрейфует быстро на несколько секунд, то, когда NTP исправляет этот дрейф, вы увидите, что часы внезапно уходят на несколько секунд назад. Очень плохо для использования времени. Mach_time использует счетчик, который никогда не исправляется NTP, поэтому не может вернуться назад, поэтому намного лучше для определения времени.)

26
ответ дан 1 December 2019 в 17:29
поделиться

Используйте NSTimeInterval startTime = [NSDate timeIntervalSinceReferenceDate], чтобы получить время начала, а затем NSLog (@"Операция заняла %f секунд", [NSDate timeIntervalSinceReferenceDate ] - startTime); в конце.

5
ответ дан 1 December 2019 в 17:29
поделиться