Привязка к NSTreeController selectionIndexPaths - PullRequest
0 голосов
/ 06 августа 2010

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

[activePDFView bind: @ "name"toObject: treeController withKeyPath: @ "selectionIndexPaths.nodeName" options: options];

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

При компиляции я получаю следующее сообщение

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

Я не совсем уверен, но моя привязка верна?

Спасибо.

1 Ответ

2 голосов
/ 06 августа 2010

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

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