title: setNeedsDisplay doesn't always call drawRect
body: <p>I have a custom view in a custom table cell. Every time a specific property on the custom view is changed I call <code>[self setNeedsDisplay]</code> which redraws the view in <code>- (void)drawRect:(CGRect)rect</code>. That property is set in the table view delegate's <code>tableView:cellForRowAtIndexPath:</code>. But when the table view is larger than the screen and cells have to be reused, <code>drawRect</code> isn't called every time <code>setNeedsDisplay</code> is. Especially when I flick the table quickly . Slow scrolling works fine. This leads to the information in the first and last cells often being incorrect.</p>
  
  <p>In the log I can see that normally, for every call to <code>setNeedsDisplay</code> there is a call to <code>drawRect</code>, but when I scroll the table view quickly there are more calls to <code>setNeedsDisplay</code> than <code>drawRect</code>. Surely there should be a one-to-one ratio here.</p>
  
  <p>I use the same custom view in a normal UIView, and it redraws perfectly every time I call <code>setNeedsDisplay</code>. The problem seems isolated to table views and reusing cells.</p>
  
  <p>Does anyone know what's going on here?
  Is there any other way to force the custom view to redraw itself?</p>