В настоящее время я использую NSSplitViewController, который имеет два дочерних элемента разделенного представления (один является контроллером представления, а другой - другим контроллером разделенного представления, как показано на рисунке:
Я хотел бы программно получить доступ к элементам разделенного представления, чтобы изменить статус свертывания (а затем и некоторые другие свойства) из оконного контроллера.
Я могу легко получить доступ к элементам разделенного представления по положению, используя это:
let myMainSplitViewController = self.contentViewController as! NSSplitViewController
let mySplitViewController2 = myMainSplitViewController.splitViewItems[1]
mySplitViewController2.collapsed = !mySplitViewController2.collapsed
Я думаю, что в долгосрочной перспективе использование позиции (1 в примере) не будет хорошей идеей (например, если я переставлю разделенные элементы в будущем). Есть ли способ получить доступ к элементам разделенного просмотра с более постоянной ссылкой, благодаря только индексному номеру?
Я думаю, что мог бы попытаться назначить идентификатор раскадровки контроллерам элементов разделенного представления и найти точное имя по имени, используя метод фильтра массива, но это может быть немного громоздко... есть ли что-то более простое, как это? :
myMainSplitViewController.splitViewItems["My Split View Controller 2"]