I have a view controller that has a delegate for two tables, a table based on a view and a table based on cells. A cell-based table calls viewForTableColumnwhen it should call objectValueForTableColumn. I made sure twice that it was a cell-based table in the interface builder.
viewForTableColumn
objectValueForTableColumn
If a delegate NSTableViewimplements a method tableView:viewForTableColumn:row:, it NSTableViewautomatically switches to view-based. You will need to make different delegates for 2 table views
NSTableView
tableView:viewForTableColumn:row:
, , , tableView:viewForTableColumn:row:, :
NSTableCellView *cell = [tableView makeViewWithIdentifier:@"textFieldCell" owner:self];
textFieldCell - . , , :
textFieldCell
[[cell textField] setStringValue:desiredString];