Использование привязок для реализации перестановки NSTableView drag'n'drop? - PullRequest
0 голосов
/ 01 марта 2012

Как разработчик-любитель Obj-C / Cocoa, я недавно боролся за включение операций перетаскивания в NSTableViews моего программного обеспечения. Разочаровавшись, что-то пришло мне в голову: почему мы напрямую взаимодействуем с представлением таблицы? Не лучше ли реализовать перетаскивание через удаление и повторную вставку элементов через привязанный к таблице NSArrayController?

Во-вторых, почему нет более элегантного решения для добавления такой общей функциональности? Это похоже на то, что Apple хотела бы упростить в реализации.

В-третьих, прости меня, если какое-либо из этих утверждений кажется невежественным! Хотя я знаю достаточно, чтобы собрать воедино различные части программного обеспечения, я даже близко не являюсь экспертом.

Ответы [ 2 ]

1 голос
/ 01 марта 2012

Я бы также прочитал этот пост в блоге Red Sweater Software . Он предлагает подкласс NSArrayController, который обрабатывает перетаскивание для вас. Вероятно, потребуется немного обновить, если вы хотите правильно поддерживать несколько перетаскиваний изображений (представленных в Lion), но это было бы отличным местом для начала.

1 голос
/ 01 марта 2012

Я только начинаю проникать в эту область, чтобы обновить свое приложение Carbon до 21-го века, и я нашел несколько хороших ресурсов для начала через Центр разработчиков.В частности, видео WWDC 2011 Session 120 - NSTableView на основе просмотра и связанные с ним проекты, особенно TableViewPlayground , который демонстрирует таблицы на основе NSTableCellView с привязками и без привязок.Он также демонстрирует использование NSArrayController.

Определенно сложно привыкнуть к парадигме MVC приложений Какао, но отличительной особенностью Какао является то, как быстро вы можете получить работающий прототип и просто добавлять его по мере добавленияидти.На самом деле я испытываю желание начать с TableViewPlayground и удалить ненужные мне биты.

...