The method
tableView:viewForTableColumn:row:
Is from the NSTableViewDelegate protocol and once implemented will make the NSTableView a view-based table. From the code above, the view controller is not conforming to the NSTableViewDelegate protocol.