2014-04-05 2 views
0

10 Свойство возвращает массив, содержащий контролируемые объекты. Этот массив наблюдается, так что я могу это сделать:Наблюдение, упорядоченноеОбъекты от NSOutlineController

[_myArrayController addObserver:self forKeyPath:@"arrangedObjects.myProperty" options:0 context:myContext]; 

Каждый раз, когда свойство MyProperty любого из объектов в контроллере модифицируется, я сказал об этом.

Теперь мне нужно сделать то же самое, используя NSOutlineView. Тем не менее, NSOutlineView «s arrangedObjects свойство возвращает массив NSTreeNodes, так что мне нужно сделать что-то вроде этого:

[_myArrayController addObserver:self forKeyPath:@"arrangedObjects.representedObject.myProperty" options:0 context:myContext]; 

Но это не разрешается, так как representedObject не КВЦ требованиям.

Есть ли простой способ сделать то, что мне нужно?

+0

Я думал, что уложенные объекты NSTreeController возвратили один корневой узел прокси, так что устроили быObjects.childNodes.representedObject.myProperty? Насколько я знаю, даже если у вас несколько узлов верхнего уровня, вы можете добраться до них через allocObjects.childNodes. – stevesliva

+0

Это правда, но это не работает – tarmes

ответ

0

Оказалось, что использование просто «builtObjects.myProperty» работает!

+0

Итак, что работает для всех объектов в дереве? – stevesliva