2010-07-05 14 views
2

有没有办法在iOS设备的系统时间更改分钟时轻松设置通知?设备时间变化(分钟)时的NS通知?

我需要为时间更改做一些UI更新。我希望UI能够精确地更新每分钟的更改,而不仅仅是通过NSTimer触发器每60秒更新一次。

+1

制作一个较低分辨率的计时器,如每10秒钟或更新一次,然后更新屏幕。如果第二秒更新至关重要,请使计时器分辨率小于1秒,并在每分钟更改时更新。 – 2010-07-05 16:48:04

回答

0

API没有提供任何通知,但您可以通过让后台线程轮询系统时间,然后将自定义通知发送到主线程上的UI来推出自己的通知。

但是,我不打扰。您无法在任何带有软件UI的设备上“精确”管理时间。你可以做的最好的是让UI更新发生在用户感知的阈值之下。人类无法真正感知小于100-200毫秒(1/10秒)的时间间隔。更精确的任何UI都被浪费了。只要应用程序的某些其他部分没有挂起或陷入沼气,NSTimer就可以非常可靠地达到100毫秒的窗口。

除非您使用NSTimer测试了界面并发现它需要,否则我不会去寻找增加复杂性。

+0

那么我已经诉诸于[self performSelector:@selector(setLabel)withObject:nil afterDelay:30];这应该没问题。我不想每秒都这样做,它看起来像很多的UI重绘。 – runmad 2010-07-06 23:46:58