Точное время, когда произошло событие - PullRequest
1 голос
/ 13 июня 2009

Что я хочу сделать, это записать время, когда была нажата кнопка. Все эти времена будут храниться в массиве. Затем программа будет проходить через массив и просматривать значения времени, а затем выделять состояния кнопок в эти конкретные моменты времени во время воспроизведения.

Надеюсь, это имеет смысл, какой лучший способ сделать это ?! Заранее спасибо.

------------------ ПОДРОБНЕЕ ------------------

первое, что мне пришло в голову, было ... «ах, метка времени», но затем, изучая документацию, в определенном разделе на странице метки времени где-то в абзаце говорится следующее:

.... Вы не должны использовать его для определения точного времени, когда произошло событие, но вместо этого следует сравнить его с отметкой времени другого события ускорения, чтобы определить прошедшее время между событиями ....

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

Ответы [ 2 ]

3 голосов
/ 15 июня 2009

Свойство -[UIEvent timestamp] будет наиболее точным представлением того, когда фактически произошло касание. Если вы используете функции CFAbsoluteTimeGetCurrent() или UNIX time(), вы получите текущее время, когда вызывается функция момента, а не фактическое событие (которое будет когда-то раньше).

1 голос
/ 13 июня 2009

Вы можете использовать CFAbsoluteTimeGetCurrent(), чтобы получить текущее время, выраженное в виде количества секунд (как значение double, так что будут присутствовать дробные секунды) с 1 января 2001 года 00:00: 00 GMT.

Следовательно, вы должны записать значение CFAbsoluteTimeGetCurrent() в определенный момент, когда ваше приложение запускается, а затем записывать его значение при каждом нажатии кнопки. Затем, вычитая время запуска приложения из времени нажатия кнопки, вы получаете количество секунд, в течение которых кнопка была нажата с момента запуска приложения. Затем вы можете воспроизвести нажатия кнопки позднее, взяв эту дельту времени и добавив ее ко времени начала воспроизведения.

...