Я работаю с приложением, которое обрабатывает события движения и обновления устройств с шагом 5 секунд. Я хотел бы добавить индикатор в приложение, которое отображает общее время работы приложения. Кажется, что секундомер, подобный счетчику, например, родное приложение iOS Clock - разумный способ подсчитать время, в которое приложение было запущено, и отобразить его пользователю.
Я не уверен в технической реализации такого секундомера. Вот что я думаю:
-
Если я знаю, сколько времени между обновлениями интерфейса, я могу добавить секунды между событиями и сохранить количество секунд в качестве локальной переменной. В качестве альтернативы, таймер с интервалом в 0,5 секунды может обеспечить счет.
-
Если я знаю дату начала приложения, я могу преобразовать локальную переменную на дату для каждого обновления интерфейса с помощью
[[NSDate dateWithTimeInterval:(NSTimeInterval) sinceDate:(NSDate *)]
-
Я могу использовать NSDateFormatter с коротким стилем времени, чтобы преобразовать обновленную дату в строку с помощью метода
stringFromDate
-
Полученная строка может быть назначена метке в интерфейсе.
-
В результате секундомер обновляется для каждого "тика" приложения.
Мне кажется, что эта реализация слишком тяжелая и не такая уж жидкая, как приложение секундомера. Есть ли лучший, более интерактивный способ подсчитать время работы приложения? Может быть, есть что-то уже предоставленное iOS для этой цели?