У меня есть NSSplitView
, который управляет иерархией сверления. Родительская/левая сторона отображает группы, а дочерняя/правая сторона получает уведомление о том, что выбор группы изменился, и обновления для отображения дочерних элементов.
Однако: при создании NSSplitView
с использованием раскадровки, создаются 3 сцены: один для самого разделенного представления и один для каждого из экземпляров справа/слева NSViewController
.
Проблема заключается в том, что у меня есть два контроллера, которые также действуют как элементы NSTableViewDataSource
, а родительский контроллер должен иметь IBOutlet
для дочернего контроллера, чтобы он мог обеспечить прямое уведомление о том, что выбор изменился.
Но! Поскольку эти контроллеры находятся в разных сценах, я не могу их подключить. Я также не могу перемещать их до родительской сцены для разделенного вида, потому что тогда они не имели бы доступа к выходам NSTableView
. (Также таблицы не будут ссылаться на контроллеры в качестве делегатов/источников данных.)
Нужно ли здесь использовать NSNotification
? Это кажется таким косвенным и желательным, и я не нашел подхода на основе Mac на Mac.