2011-05-06 2 views
0

내 응용 프로그램은 0.1 초마다 발생하는 NSTime을 사용중인 타이머 (0.1 초 세부 정보 포함)를 그립니다. 이것은 절대적으로 끔찍한 생각처럼 느껴지지만, 어떻게해야할지 모르겠습니다. 나는 항상 .1 초 업데이트에 신경 쓰지 않지만 초당 1 회 이상 업데이트하고 싶습니다. 이것을 할 수있는 좋은 방법이 있습니까?타이머 UI를 업데이트하는 가장 좋은 방법은 무엇입니까

답변

3

NSTimer 나쁜 접근 방식으로 나를 공격하지 않습니다. NSTimer은 일반적으로 시간을 추적하는 데 매우 규칙적인 방법입니다 (실제로는 CADisplayLink이 오기 전에 애니메이션 타이밍에 사용되었습니다). 당신이 당신의 타이머 디스플레이 업데이트의 용납 할 수없는 성능을보고 있지 않다면, 나는이 접근법을 고수 할 것이다.

지연 및 부정확 한 시간 판독에 문제가있는 경우 시작 시간을 NSDate에 저장할 수 있으며 계속해서 디스플레이를 업데이트하기 위해서만 NSTimer을 계속 사용할 수 있습니다. 타이머 이벤트가 시작될 때마다 시작 시간부터 NSTimeInterval을 찾아서 디스플레이를 업데이트합니다. 이 방법은 성능 문제가있는 경우에도 적어도 표시되는 시간은 표시 할 때 정확해야합니다.

+0

실제로 재미만을 위해 GCD 타이머 소스를 사용하여 끝났지 만, 더 많은 조사를 한 후에 NSTimer에 대한 두려움이 다소 불합리하다는 것을 깨달았습니다. 감사. – axiixc

관련 문제