Привязка какао к конкретному элементу в контроллере массива - PullRequest
4 голосов
/ 22 марта 2009

Возможно ли использовать NSArrayController для привязки значения NSTextField к определенному элементу в массиве? В частности, я хочу привязать свойство к первому элементу в массиве и ничего не показывать, если массив пуст.

Использование arrangedObjects.command показывает только "(" - по-видимому, он пытается показать многострочную строку с разделенными запятыми строками для каждого элемента. Я просто хочу первый.

1 Ответ

6 голосов
/ 22 марта 2009

Привязать текстовое поле к selection.command и программно установить индекс выбора контроллера массива на 0. Возможно, вам также придется заново установить индекс выбора на 0 каждый раз, когда вы добавляете или удаляете элементы в массив контента.

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

РЕДАКТИРОВАТЬ: еще лучше, не делайте ничего подобного - если объект, который находится первым в массиве, имеет какой-то особый статус, вы должны создать отдельное свойство, не являющееся массивом (в том же объекте, который содержит исходный массив, из которого я предположим, что контроллер массива получает его) для хранения объекта с таким статусом.

...