Если вы делаете приложение которое будет реализовано и под iOS и под Mac OS будет лучше использовать одну и ту же Core Data модель (и вы даже можете использовать iCloud для обмена документами).
На iOS таблицы ограничены одним столбцом. Вы можете использовать navigation interface или master-detail controller design для получения детализированных данных.
В NSTableView строка представляется классом NSTableRowView, а столбец классом NSTableColumn. В одностолбцовом UITableView ячейки сами для себя и являются строками.
NSTableView позволяет ячейкам таблицы базировать свои вид на пользовательских представлениях, а не только ограничиваться NSCell. Класс NSTableCellView позволяет создавать наследованием от него view-based ячейки.
NSTableView позволяет использовать Core Data и биндинги, поэтому слишком много кода писать необязательно. Посмотрим как создать такое приложение:
Создадим новый проект типа Cocoa Application. Создадим Core Data модель данных:
Добавим array controller. Он будет управлять объектами самого верхнего уровня, например клиентами (customer). В свойствах контроллера заполним свойство Entity Name. Также надо отметить птичкой Prepares Content.
Потом для этого же контроллера массива нужно в свойства биндингов и привязать его к делегату приложения. Для свойства model key path надо установить значение managedObjectContext.
Далее добавим table view.
Кликните shift и ПКМ на первом столбце.
Далее для выбранного столбца надо открыть инспектор биндингов, далее в секции value надо привязать столбец к Customers с ключом контроллера arrangedObjects и model key path должен соответствовать атрибуту модели данных.
Также надо сделать и для второго столбца.
Далее добавим кнопку Add для добавления записей в table view. В инспекторе атрибутов свойство image установим на значение NSAddTemplate. Также добавим кнопку с NSRemoveTemplate.
Теперь надо нажать ПКМ на Add и перетащить курсор на Customers array controller и соединить его с действием Add. Аналогично надо сделать для кнопки Remove.
Создадим новый проект типа Cocoa Application. Создадим Core Data модель данных:
Добавим array controller. Он будет управлять объектами самого верхнего уровня, например клиентами (customer). В свойствах контроллера заполним свойство Entity Name. Также надо отметить птичкой Prepares Content.
Потом для этого же контроллера массива нужно в свойства биндингов и привязать его к делегату приложения. Для свойства model key path надо установить значение managedObjectContext.
Далее добавим table view.
Кликните shift и ПКМ на первом столбце.
Далее для выбранного столбца надо открыть инспектор биндингов, далее в секции value надо привязать столбец к Customers с ключом контроллера arrangedObjects и model key path должен соответствовать атрибуту модели данных.
Также надо сделать и для второго столбца.
Далее добавим кнопку Add для добавления записей в table view. В инспекторе атрибутов свойство image установим на значение NSAddTemplate. Также добавим кнопку с NSRemoveTemplate.
Теперь надо нажать ПКМ на Add и перетащить курсор на Customers array controller и соединить его с действием Add. Аналогично надо сделать для кнопки Remove.