Привязка Значения ключа какао: Каковы объяснения различных вариантов для Ключа Контроллера?

Насколько я знаю, Белый уровень абстракции поверх Microsoft Автоматизация UI платформа. Я записал подобный слой, который мы используем внутренне на наших проектах, и он работает отлично. Таким образом Белый был бы definattley быть достойные внимания

, Microsoft выпустила источник к Автоматизации UI, так при необходимости необходимо быть в состоянии отладить право вниз целый стек при необходимости.

действительно прохладная вещь состоит в том, что со стоимостью лицензии, можно увеличиться и выполнить столько машин, сколько Вам нравится за выполнение.

Мы работаем в VSTS и связываем наши результаты с требованиями, но можно использовать экспресс c# и nUnit и получить инструменты первого класса и языки для мало ни к какой стоимости.

10
задан Elisabeth 21 November 2009 в 00:17
поделиться

4 ответа

Их сложно найти. Кажется, что на них повсюду ссылаются различные книги по Cocoa и даже документы Apple, но я не видел, чтобы кто-нибудь объединил их объяснения в одном месте. Ответ таков: Apple определяет их в документации для каждого класса контроллера:

  • NSObjectController ( doc )
  • NSArrayController ( doc )
  • NSDictionaryController ( doc )
  • NSTreeController ( doc )
  • NSUserDefaultsController ( doc )

Эти документы также полезны:

Наследование для этих объектов «Контроллер» выглядит так (это важно, чтобы выяснить, откуда берутся некоторые из параметров «Ключ контроллера»):

NSController -> NSObjectController
NSController -> NSObjectController -> NSArrayController
NSController -> NSObjectController -> NSArrayController -> NSDictionaryController
NSController -> NSObjectController -> NSTreeController
NSController -> NSUserDefaultsController

// Note:  NSController is an abstract class (don't worry about it).  It inherits from NSObject.

Если вы обнаружите, что Ключ Контроллера не определен в документации для определенного класса , вероятно, он определен в своем суперклассе. Ниже приведены все ключи контроллера, доступные для каждого из вышеперечисленных (Xcode 3.2.1, Interface Builder 3.2.1):

// **NSObjectController**
canAdd
canRemove
isEditable
selectedObjects
selection


// **NSArrayController**
arrangedObjects
canAdd
canInsert
canRemove
canSelectNext
canSelectPrevious
filterPredicate
isEditable
selectedObjects
selection
selectionIndex
selectionIndexes
sortDescriptors


// **NSDictionaryController**
arrangedObjects
canAdd
canInsert
canRemove
canSelectNext
canSelectPrevious
filterPredicate
isEditable
selectedObjects
selection
selectionIndex
selectionIndexes
sortDescriptors


// **NSTreeController**
arrangedObjects
canAdd
canAddChild
canInsert
canInsertChild
canRemove
isEditable
selectedObjects
selectedNodes
selection
selectionIndexPath
selectionIndexPaths
sortDescriptors


// **NSUserDefaultsController**
hasUnappliedChanges
values

Итак, найдите в списке тот, который вам нужен, посмотрите документацию на этот класс контроллера, и вы найдете его определение. Если его там нет, вероятно, он определен в документации для своего суперкласса (вероятно, NSObjectController).

14
ответ дан 3 December 2019 в 15:06
поделиться

Ключ контроллера - это ключ для (свойства объекта контроллера), к которому вы привязываетесь. Ключевой путь модели - это ключевой путь, по которому связанный объект может запрашивать у объектов модели более простые объекты, такие как строки или изображения, или другие объекты модели (т. Е. Углубляться в модель).

Пример: Допустим, у вас есть объекты Person в контроллере массива, и у каждого Person есть имя . Вы привязываете столбец таблицы к контроллеру массива, ключу контроллера artemObjects (тем самым получая объекты модели), пути ключа модели , имени (таким образом, получая объекты значений).

Подробнее сложный пример: предположим, у вас есть контроллер массива Departments. Каждый отдел содержит лиц (сотрудников отдела). Вы можете привязать контроллер массива People к контроллеру Departments, ключу контроллера schemeObjects (получение объектов модели отдела), пути ключа модели @ independentUnionOfObjects.employees (получение объектов модели Person), а затем привяжите столбец таблицы к контроллеру People, ключ контроллера sizesObjects , путь ключа модели имя .

Эта таблица предназначена для людей, которые работают в вашей компании; если у вас есть отдельная таблица потенциальных сотрудников, вы также можете создать для них объекты Person, и они не будут отображаться в таблице существующих сотрудников, потому что они не входят в отдел. Когда вы нанимаете их, вы добавляете их в один или несколько отделов; затем они автоматически появятся в контроллере массива People,

7
ответ дан 3 December 2019 в 15:06
поделиться
7
ответ дан 3 December 2019 в 15:06
поделиться

Взгляните на Руководство пользователя Interface Builder , там есть раздел «Соединения и привязки» с таблицей 7-1, в которой говорится:

Ключ контроллера: атрибут { {1}} Объект NSController. При привязке к объекту NSController вы используете это поле для выбора первой записи в пути ключа . В меню, связанном с этим полем, для удобства отображаются свойства , доступные для выбранного объекта контроллера . Вы можете ввести название свойства или просто выбрать его из предоставленного списка.

2
ответ дан 3 December 2019 в 15:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: