Interesting idea. But, I don't necessarily like it.<p>You're moving the display logic for a view controller to be outside of the view controller. You now have to know where a view was created and presented from in order to change any of the view's content around at a later date. With tableView:cellForRowAtIndexPath:, you don't have to worry about where it came from, because the view controller is responsible for managing its own content.<p>Also: as an aside, you should be caching all of your NS*Formatter objects at a per-thread level, rather than recreating every time you need them -- formatters are very expensive to create and set up.