В основных данных: почему представление arraycontroller не замечает изменений в object.otherobject.property, а только object.property? - PullRequest
0 голосов
/ 10 ноября 2010

У меня есть nsarraycontroller * ctrlr1, извлекающий его данные из основной сущности данных. Obj1 имеет отношение один к одному с obj2, также полученным nsarraycontroller * ctrlr2 в ctrlr, который я установил через IB, предикат выборки, подобный этому

inactive == 0 && obj2.active ==1

У меня есть представление со связанными свойствами для атрибутов obj1, и если я нажимаю флажок, связанный с неактивным, мое представление nscollection корректно исчезает в obj1 и его представлении, НО если в другом представлении nscollectionview я изменяю атрибут obj2, активный на 0, первый nscollectionview не 'не получить обновление, даже если я вызову метод fetch:, что это может быть?fetch отлично работает при первом получении (запуск приложения)

1 Ответ

0 голосов
/ 10 ноября 2010

NSArrayController не знает, что ему нужно наблюдать потенциально произвольно глубокое дерево объектов, и просто наблюдает свойства объектов в наблюдаемом массиве (и самом массиве).Таким образом, вам необходимо предоставить уведомление об изменениях программно для «глубокого» изменения, которое будет передано массивному контроллеру, или явно указать контроллеру соблюдать эти пути глубоких ключей.

...