Действительно ли возможно получить метку времени атомных часов от iphone GPS?

Фильтр и понимания списка хорошо для Вашего примера, но у них есть несколько проблем:

  • Они делают копию Вашего списка и возвращают новый, и это будет неэффективно, когда исходный список будет действительно большой
  • , Они могут быть действительно громоздкими когда критерии для выбора объектов (в случае, если имя [-5:] == 'Smith'), более сложно, или имеет несколько условий.

Ваше исходное решение на самом деле более эффективно для очень больших списков, даже если мы можем согласиться, что это более ужасно. Но если Вы волнуетесь, что у Вас могут быть несколько 'John Smith', это может быть зафиксировано путем удаления на основе положения а не на значении:

names = ['Jones', 'Vai', 'Smith', 'Perez', 'Smith']

toremove = []
for pos, name in enumerate(names):
    if name[-5:] == 'Smith':
        toremove.append(pos)
for pos in sorted(toremove, reverse=True):
    del(names[pos])

print names

Мы не можем выбрать решение, не рассматривая размера списка, но для больших списков я предпочел бы Ваше решение с 2 передачами вместо фильтра или перечисляю понимания

8
задан Maxm007 18 September 2009 в 13:08
поделиться

2 ответа

Это дает вам текущую дату и время:

NSDate *now = [NSDate date];

Это будет настолько надежно, насколько вы можете получить. Внутренние часы iPhone будут обновлены, когда он получит доступ к серверу NTP. Если телефон использует GPS в качестве источника синхронизации времени, он также будет использоваться для обновления тех же общесистемных часов, которые доступны с помощью вышеуказанного метода.

Эквивалент CoreFoundation выглядит примерно так:

CFAbsoluteTime now = CFAbsoluteTimeGetCurrent();

Что возвращает эквивалент CoreFoundation стандартной временной метки UNIX «секунды с эпохи».

-1
ответ дан 5 December 2019 в 19:01
поделиться

Даже если вы можете получить время от GPS, вы должны знать, что GPS время не совсем совпадает с UTC. Однако об этом может позаботиться GPS-приемник в iPhone.

0
ответ дан 5 December 2019 в 19:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: