2009-06-13 4 views
1

내가하고 싶은 것은 버튼을 눌렀을 때의 시간을 기록하는 것입니다. 이 모든 시간은 배열에 저장됩니다. 그러면 프로그램이 배열을 통해 실행되어 시간 값을 확인한 다음 재생 중 특정 시간에 단추 상태를 강조 표시합니다.이벤트가 발생한 정확한 시간

바라건대 이것은 의미가 있습니다. 가장 좋은 방법은 무엇입니까?! 미리 감사드립니다. 제일 먼저

------------------ 자세한 내용 ------------------

그 내 마음에 떠올랐다 ... 아, 하, 타임 스탬프 '하지만 문서를보고, 타임 스탬프 페이지의 특정 섹션에서 어딘가에 다음과 같은 단락의 내용 :

.... 이벤트가 발생한 정확한 시간을 결정하는 데 사용하지 말고 대신 다른 가속 이벤트의 시간 소인과 비교하여 이벤트 사이의 경과 시간을 결정해야합니다. ...

나는 위대하지 않습니다. 그것을 가정하면 사용자가 실제로 레코드를 눌렀을 때 정확한 시간에 버튼을 강조 표시 한 재생에 대해서는 정확하지 않습니다. 내가 무엇을 사용해야하며해야하는지 알려주세요.

답변

1

CFAbsoluteTimeGetCurrent()을 사용하면 2001 년 1 월 1 일 00:00:00 GMT 이후 현재 시간을 초 단위로 나타낼 수 있습니다 (double 값이므로 소수 초가 표시됩니다).

따라서 앱을 시작할 때 어느 시점에 CFAbsoluteTimeGetCurrent()의 값을 기록한 다음 버튼을 누를 때마다 그 값을 기록해야합니다. 그런 다음 버튼을 누른 시간부터 앱이 시작된 시간을 빼면 앱이 시작된 이후 버튼을 누른 시간 (초)이 표시됩니다. 그런 다음 시간 델타를 가져 와서 재생이 시작된 시간에 추가하여 나중에 단추 누름을 재생할 수 있습니다.

+0

위대하고 실현 가능성이 높습니다. 지금이 메서드를 사용하여 재생 중에 버튼이 적절한 시간에 강조 표시되는지 확인합니다. 그들은 소리를 방아쇠를 당긴다. 그래서 만일 그들이 떨어져 있으면 나는 알 것이다. 매우 빠른 응답을 보내 주셔서 감사합니다. 또한 직접 연락 할 수있는 방법이 있습니까?! 다른 사람의 사용자 이름을 클릭하면 메시징 시스템을 찾을 수 없습니다. 누군가를 업데이트하거나 특정 것에 대해 물으면 도움이 될 것입니다. – Pavan

3

-[UIEvent timestamp] 속성은 터치가 실제로 발생한 때를 가장 정확하게 나타냅니다. CFAbsoluteTimeGetCurrent() 또는 UNIX time() 함수를 사용하면 이벤트가 실제로 발생했을 때가 아니라 현재 함수가 호출되는 현재 시간이 표시됩니다 (언젠가는 앞당겨집니다).

관련 문제