Wrapper round the more efficient ticker functions...
this class provides convenience methods to get NSDate
objects, and also provides support for registering
observers ofr second by second ticks.
+ (void)
newSecond: (id)userInfo;
A dummy method... does nothing, but allows the GSTicker
class itsself to act as an observer of regular
timeouts.
Thus, you may register the class
as its own observer in order to set up a timer to ensure
that date/time information is updated at the start of
every second.
+ (void)
registerObserver: (id<
GSTicker>)anObject
userInfo: (id)userInfo;
Registers an object to receive a
[<GSTicker>-newSecond:]
message at the start of every second.
Also
starts a timer in the current thread (unless one is
already running) to notify registered objects of
new seconds.
The observer and the
userInfo are retained by the ticker.
Adding an observer more than once has no
effect.
NB. You must not add or remove
observers inside the callback routine.
Convenience function to provide timing
information quickly.
This returns the
current date/time, and stores the value for use by
the
GSTickerTimeLast()
function.
This returns the timestamp from which GSTicker was first
used.
A convenience method to return the current clock 'tick'...
which is the current second based on the time we
started. This does
not check the current
time, but relies on
GSTickerTimeLast()
returning an up to date value (so if you need an
accurate tick, you should ensure that
GSTickerTimeNow()
is called at least once a second).
The returned
value is always greater than zero, and is basically
calculated as (GSTickerTimeLast() -
GSTickerTimeStart()
+ 1).
In the event that the system clock is reset
into the past, the value of
GSTickerTimeStart()
is automatically adjusted to ensure that the result of a
call to
GSTickerTimeTick()
is never less than the result of any earlier call to the
function.