Делая что-то не так с привязками, не могу выяснить, что - PullRequest
0 голосов
/ 19 января 2010

У меня есть изменяемый массив, который содержит экземпляры модельного объекта.Этот модельный объект имеет несколько свойств, одним из которых является «имя».У меня нет проблем с инициализацией или заполнением изменяемого массива.

У меня есть окно с выдвижным ящиком.Я добавил таблицу в ящик, идея в том, что ящик будет использовать таблицу для отображения нескольких экземпляров объекта модели.

Я добавил nsarraycontroller в XIB окна, в котором есть ящик.В свойствах Array Controller я установил Object Controller как экземпляр класса модели.В привязках контроллера массива я устанавливаю содержимое контроллера так, чтобы он указывал на владельца файла, а в качестве пути к ключу модели - имя массива.

В таблице я связываю содержимое с контроллером массива, контроллером.Ключ к композицияObjects и ключ модели Путь к имени.

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

Ответы [ 2 ]

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

Две возможности:

Первое: Возможно, вы ошиблись (ваше описание здесь несколько двусмысленно). Свяжите «значения» каждого столбца таблицы с @"arrangedObjects.propertyName" контроллера массива (например, selectedObjects.firstName для столбца «Имя» и т. Д.). Существуют альтернативные способы связывания всей таблицы, но вы, вероятно, не связываете значения столбца , а только содержимое таблицы .

Второе: также возможно, что средство доступа к вашему объекту модели не совместимо с KVO. Удостоверьтесь, что надлежащие уведомления KVO обертывают ваш метод доступа для вашего массива модели. Если вы @synthesize сделали это, все должно быть хорошо. Если вы закодировали свои аксессоры вручную, возможно, не все хорошо. : -)

0 голосов
/ 19 января 2010

Полагаю, вы связали столбцы таблицы tablecells с массивом-контроллером?Я не думаю, что Interface Builder позволит вам сделать что-нибудь еще.В противном случае это звучит так, как будто вы настроили его правильно.

Я бы порекомендовал ibtool для устранения подобных проблем.Это инструмент командной строки, который делает дамп текста.Вы можете проверить привязки в более компактной форме, чем с помощью графического интерфейса в Интерфейсном Разработчике.

...