2015-05-26 2 views
2

В Xcode 6.2, в Bindings инспектора я вижу это:Что такое выбор NSObjectController?

enter image description here

Может кто-нибудь объяснить, что установление Controller Key в selection средства? Документы Apple, говорят:

выбор:
Возвращает объект прокси, представляющий выбор [NSObjectController в].

Совершенно не полезно.

+0

Это одностороннее и полезное в подклассах, где вы можете сделать что-то вроде привязки «содержимого» NSObjectController к 'select' NSArrayController, который допускает только один выбор ... Я не думаю, что есть намного больше, чтобы скажем, поскольку, по-видимому, нет возможности установить выбор с помощью простого экземпляра NSObjectController. Насколько я знаю, это намеренно бесполезно в суперклассе. – stevesliva

ответ

0

Я собрал часть головоломки. От Apple Developer docs:

контроллеры требуют контента, чтобы манипулировать и есть ряд опций для настройки этого контента. Это может быть сделано ... через привязки ...
...
NSObjectController и его подклассы инициализируются с помощью метода initWithContent :, передавая объект контента или ноль, если вы собираетесь использовать привязки контента. Вы можете явно установить содержимое существующего контроллера , используя метод setContent :. Это больше, чем , общий для обеспечения контента для контроллеров путем установления привязки к одному из их открытых привязок содержимого контроллера.

NSObjectController выставляет одно связывание для содержания называется contentObject. Вы можете установить привязку из contentObject к любому объекту , который соответствует кодированию ключа и соблюдению значения ключа для ключей, на которых вы собираетесь управлять контроллером.

из SO post:

для NSObjectController, выбор объекта контента.

Очевидно, что для выбора @property NSObjectController присваивается объект contentObject, который позволяет выполнять привязки.

Больше generally:

NSObjectController и его подклассы ... поддержка отслеживание в настоящее время выбранного объекта или объекты

Я думаю выбранный объект сусло означает элемент управления, который выбран в представлении.

Существует два метода, которые обычно используются для доступа к объектам , которые в настоящее время выбраны: выделение и выделенные объекты.

Я думаю, что с NSObjectController, выбранный контроль в представлении не имеет смысла, и поэтому выбор @property из NSObjectController присваивается contentObject.

+0

У меня возникли проблемы с разбором «для выбора @property NSObjectController присваивается объект contentObject, который позволяет выполнять привязки». Оба 'selection' и' content' допускают привязки, но выбор является односторонним. Как я уже сказал в комментарии, 'selection' имеет больше смысла, реализованный' NSArrayController' и 'NSTreeController'. То же самое касается 'addObject',' removeObject' и 'newObject'. – stevesliva