For a particular controller class, I need to draw a grid (the grid refers to a daily schedule, which changes each day, sometimes each hour.). Some time later, upon an action by the user, I need to fill that grid with updated schedule data that I did not have when I was doing the original grid.
My question is: since I don’t know the selected day at the time the viewDidLoad, does this mean I have to re-draw the entire grid again, along with the new daily schedule data? (that’s the only way I can think of to get everything drawn in the drawRect) Or can I call a method outside of drawRect to draw the daily schedule? or is there another, better way of doing this?
You don’t specify whether this is iOS or Mac, which might very marginally affect what assumptions you are able to make about this. But in general a view’s
drawRectmethod should at least redraw everything within the supplied rectangle (the clue is in the method name). And, broadly speaking, that is the place to manage such drawing, though of course you can break the code up into other methods for clarity and organisation.Unless your grid is incredibly dense, it is unlikely that this redraw will have noticeable impact on performance. Failing to redraw needed content in actually dirty regions would be a much worse situation.