My understanding was that viewForTableColumn:row: would be called only for rows that are visible.
I confirmed this using the following: NSRange rowsInRect = [aTableView rowsInRect:[aTableView visibleRect]]; NSInteger lastVisibleRow = rowsInRect.location + rowsInRect.length;
But with Mavericks, viewForTableColumn:row is getting called many more times without scrolling down.
For example, if my last visible row was 35, data source method is called for 139 rows.
Can anybody explain this?