If you implement heightForRowAtIndexPath: in your table view, then iOS will go and check the height of each cell, I think, to draw a scroll bar. Therefore, it is worth making this call very quick, if possible.
If you support iOS 7, consider implementing tableView: estimatedHeightForRowAtIndexPath: which can simply return a constant (or maybe very fast logic) to guess at a height. This will be delayed when calling heightForRowAtIndexPath: until the cell is scanned and should not greatly accelerate the work.
source share