Получение данных из NSTableView в NSViewController - PullRequest
2 голосов
/ 12 января 2010

Мне бы хотелось иметь «Детальный вид», когда пользователь дважды щелкает строку, я просто не уверен, как получить данные в NSViewController, чтобы он мог отображать содержимое. Я использую CoreData и не могу придумать, как это сделать.

Ответы [ 2 ]

1 голос
/ 14 января 2010

Здесь необходимо выполнить несколько шагов:

  1. Убедитесь, что табличное представление управляется NSArrayController и что ваш контроллер для табличного представления (либо оконный контроллер, либо контроллер представления, либо любой другой) имеет, что NSArrayController привязано к ивару так, чтобы Вы получаете к нему доступ.

  2. В вашем контроллере таблицы установите действие двойного щелчка для метода в вашем контроллере и установите цель для вашего контроллера.

  3. В методе двойного щелчка вы можете получить доступ к строке, запросив -selectedObjects у NSArrayController, и в результате NSArray должен иметь только один элемент.

Оттуда вы можете создать детальный вид или все, что вы хотите с ним сделать. Вы можете создать лист и отобразить его, открыть модальное окно и т. Д.

1 голос
/ 12 января 2010

какао-связок.
У Apple есть отличное руководство по созданию интерфейса Master-Detail s онлайн.
Снимки экрана немного устарели, если вы используете Xcode 3.2, но это не так уж и отличается.

NSViewController имеет свойство presentObject , которое позволяет привязывать объект модели, который вы в данный момент отображаете.

Edit: ХОРОШО. Мой ответ не так уж велик, потому что это только половина правды.
Хотя он показывает, как связать ваши элементы управления в подробном представлении, он не дает решения о том, как связать выбор контроллера массива с representedObject.
контроллера представления. Мне было бы интересно найти решение этой проблемы только для привязок.

...