I was reading thourg this example (link)...
From the description, this seems paradox to me:
When implementing a table view cell, there's a tension between optimal scrolling performance and optimal edit/reordering performance. You should typically use subviews in the cell's content view.
When you have an edit or reordering control, using subviews makes the implementation easier, and the animations perform better because UIKit doesn't have to redraw during animations.
Conclusion: Subviews are faster because UIKit must not redraw during animations. So when scrolling, it must not call -drawRect: all the time. Right?
And then, the paradoxon:
If the content is complex, however (more than about three subviews), scrolling performance may suffer. If this becomes a problem, you can instead draw directly in a subview of the table view cell's content view.
Conclusion: Prefer -drawRect: to draw directly on the table view cell. Better scroll performance for complex cells. Better than a lot of subviews.
So, well then. What's true? Subviews or -drawRect: Which is the better one?
In my case I would have like 12 subviews per cell. Are they actually just trying to say this? "If you have only up to 3 subviews, go with them. But if you have much more, use -drawRect: and draw directly on the cell.". But then: Why not always prefer -drawRect: then?