Be careful calling display from the Timer. Most of the time it will work correctly, but is possible that your application will hang because the window drawing code is not thread safe. There are two cases:
If the timer is in the main thread, then you could have an error if another method tried to display the same view. This is pretty easy to avoid.
If the timer is in a separate thread, you'll have lots of errors. You would have a problem, for example, if the timer fired just as the user clicked on a menu.
Calling setNeedsDisplay(inRect) is much safer.