NSTableView имеет -tableView:dataCellForTableColumn:row:
. Просто создайте свой подкласс NSCell в своем делегате и верните его, если вам нужна настройка для этой строки. Если вы просто используете свою пользовательскую ячейку для каждой строки в табличном представлении, вы также можете просто использовать IB для установки пользовательского класса ячейки.
Табличное представление будет копировать ячейку по мере необходимости, поэтому вы можете сохранить ячейку в качестве переменной экземпляра, если она будет более эффективной. Методы или привязки источника данных в табличном представлении работают, как обычно, только вы вернете заполненный словарь вместо одной строки или числа. Вы также можете передать объект пользовательской модели непосредственно в представление таблицы, хотя вам придется сделать его копируемым или переопределить setObjectValue:
в своей ячейке, чтобы обернуть его в NSValue.
Если это подкласс NSCell, который доставляет вам неприятности, это может быть небольшим опытом обучения. Начните с -drawWithFrame:inView:
, чтобы нарисовать все свои пользовательские объекты, и переходите оттуда к нужным вам функциям.