Где объявлены привязки NSArrayController? - PullRequest
2 голосов
/ 19 декабря 2011

При привязке NSArrayController я вижу следующие привязки, доступные на вкладке содержимого контроллера

  • Массив содержимого
  • Массив содержимого для множественного выбора
  • Объект содержимого
  • Набор содержимого

Однако я не смог найти эти параметры ни в справочнике Apple для NSArrayController, ни в самом факте NSArrayController.h.Откуда они?И чем они отличаются от свойства arrangedObject?

Снимок экрана ниже

enter image description here

1 Ответ

2 голосов
/ 19 декабря 2011

Они задокументированы в Справочнике по привязкам какао , и они публично не объявлены ни в одном заголовочном файле. Знание Xcode о них встроено в XCode, возможно, в каком-то плагине, который поставляется вместе с ним.

А чем они отличаются от свойства arrangedObject?

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

Привязки являются входными данными:

  • contentArray является основным, поскольку это контроллер массива.
  • contentSet является альтернативой для привязки к базовым данным для множества отношений, которые являются наборами. Я не уверен, работает ли он с упорядоченными наборами; когда набор не упорядочен, порядок, используемый arrangeObjects: и манифест в arrangedObjects, определяется дескрипторами сортировки контроллера массива.
  • contentArrayForMultipleSelection, вам обычно не нужно. Случай, в котором он вам нужен, достаточно хорошо описан в справочнике «Привязки какао».
  • contentObject - это, как говорит CBR, еще один контроллер массива. Опять же, обратитесь к документации, чтобы узнать, когда она вам понадобится.

Контент поступает из одной (или нескольких) привязок контента, упорядочивается (согласно любым дескрипторам сортировки, которые может иметь контроллер массива) на arrangeObjects: и затем доступен в назначенном порядке в arrangedObjects.

...