objectValueForTableColumn не требуется для случая привязок. Просто несколько минут ударился головой о стену и вернулся с этим путем наименьшего сопротивления:
1) привязать содержимое NSOutlineView к контроллеру NSTreeController (клавиша контроллераagedObjects)
2) привязать подпредставления каждого из NSTableCellView к вмещающему NSTableCellView (objectValue.foo, где foo - ключевой путь для целевого поля)
3) установить идентификатор для каждого столбца в виде структуры (я делаю это для отслеживания переупорядочения столбцов таблицы между запусками)
4) убедитесь, что каждый NSTableCellView имеет идентификатор, установленный на Автоматически (или такой же, как столбец таблицы) ** Это важно и напутано со мной **
5) при вызове makeViewWithIdentifier: убедитесь, что вы передали tableColumn.identifier
Это предполагает, что у вас есть только один тип представления ячейки на столбец таблицы. В противном случае вам нужно будет ввести правильный идентификатор для представления ячейки, которое вы хотите, в makeViewWithIdentifier:.