In NSTableViewDataSource, the overview says that tableView:objectValueForTableColumn:row:
is "required".
Right next to this, it says that tableView:setObjectValue:forTableColumn:row:
is required for "cell-based tables only", which suggests the person writing this document knew about view-based tables, and that tableView:objectValueForTableColumn:row:
is required for view-based tables.
The documentation for the method tableView:objectValueForTableColumn:row:
itself says:
Note: This method is mandatory unless your application is using Cocoa bindings for providing data to the table view.
but unlike other methods makes no mention of being unnecessary for view-based tables.
And yet, if it is required, I can't figure out what it's used for. If so, what's the relationship between that and -tableView:viewForTableColumn:row:
, which also takes a table, column, and row, and returns the thing to display there?
In some brief testing, it looks like NSTableView will use -tableView:objectValueForTableColumn:row:
if it's defined, and if not, it'll use -tableView:viewForTableColumn:row:
. If they're both defined, it calls them both, but only uses the former for display.
If I'm writing a view-based NSTableView, is there any reason to implement this method?