2010-08-05 2 views
0

Я хочу связываться с selectionIndexPaths NSTreeController в программно выполнив следующие действия (так что я могу получить строку выбор и отображение в текстовом виде)Привязать к NSTreeController selectionIndexPaths

[activePDFView связывает: @ "имя " toObject: treeController withKeyPath: @" selectionIndexPaths.nodeName " options: options];

Контроллер дерева связан с NSMutableArray, который содержит объекты с свойством nodeName. Объект внутри NSMutableArray соответствует KVC для свойства «nodeName», так как я реализовал соответствующие аксессоры.

Когда я компилирую, я получаю следующее сообщение

«[< __NSArray0 0x1001698d0> addObserver: forKeyPath: варианты: контекст:] не поддерживается. Путь к ключу: nodeName '

Я не совсем уверен, но верно ли мое обязательство?

Спасибо.

ответ

2

Похоже на то, что вы хотите связать, это не selectionIndexPaths, а вместо этого selection переплет. Связывание selectionIndexPaths возвращает массив объектов NSIndexPath, который обычно используется только при привязке выделения контура/браузера к древовидному контроллеру. selection фактически возвращает прокси-объект, который может представлять один или несколько выборок, и передает любые запросы KVC на выбранный объект (ы). Он определен в NSObjectController, который является суперклассом NSTreeController. В вашем случае вам понадобится:

[activePDFView bind:@"name" toObject:treeController withKeyPath:@"selection.nodeName" options:options]; 
+0

Спасибо, связка. Это поставило проблему. – David

+0

David: Затем вы должны пометить ответ как принятый, нажав галочку. –