The NSTableViewDataSource review says that tableView:objectValueForTableColumn:row: "required."
Next to this, it says that tableView:setObjectValue:forTableColumn:row: is only required for "cell-only tables", which means that the person writing this document knew about view-based tables and that tableView:objectValueForTableColumn:row: required to represent the table.
The documentation for the tableView:objectValueForTableColumn:row: method itself says:
Note This method is required if your application does not use Cocoa bindings to provide table data.
but unlike other methods does not mention that for tables based on viewing, there is no need.
And yet, if it is required, I cannot understand what it is used for. If so, what is the relationship between this and -tableView:viewForTableColumn:row: which also takes a table, column and row and returns the thing displayed there?
In some brief testing, it looks like NSTableView will use -tableView:objectValueForTableColumn:row: if it is defined, and if not, it will use -tableView:viewForTableColumn:row: If they are both defined, they call them both, but only the first is used for display.
If I write an NSTableView based on a view, are there any reasons for implementing this method?
source share