Что у меня есть:
- контроллер1 и
NSArrayController
- контроллер2 и
NSArrayController
.Это имеет родительское отношение к атрибуту controller1. - controller1-2Tree и
NSTreeController
и NSOutlineView
для его просмотра.Это показывает иерархию controller1 и дочерние элементы каждого элемента, которые он нашел из отношения родитель / потомок controller2.Это было сделано путем привязки двух NSArrayControllers
к значениям и дочерним элементам дерева.
Проблема:
Все в моей ситуации использует привязки ядра.Тем не менее, в отличие от NSTableView
, неортодоксальная настройка моего NSOutlineView
означает, что мой текущий выбор не передается в мой соответствующий NSArrayController
.Например, если я выбираю дочерний элемент в моем controller1-2Tree , это объект из моего controller2 , но controller2 сам по себе не регистрирует изменение выбора.
У меня есть соответствующий код для выбора изменений.Я не уверен, как вручную изменить текущий элемент выбора controller2 или controller1 (хотя это 2, что мне нужно прямо сейчас), основываясь на знании текущего выбранного элемента controller1-2Tree .
Я разработал, как изолировать текущий выбранный объект, я просто пропускаю последний шаг о том, как связать это с NSArrayController
, не повторяя его на основепри попытке сопоставить свойство.
NSManagedObject *selectedObject = [[controller1-2View itemAtRow:[controller1-2View selectedRow]] representedObject];
NSManagedObjectContext *selectedObjectContext = [selectedObject managedObjectContext];