Невозможно изменить делегата в NSSplitView
У меня есть раскадровка, которая содержит главное окно (с соответствующим MainWindowController
класс), и основной вид (NSSplitViewController
с соответствующими MainViewController
учебный класс). Для определенных функций я пытаюсь установить делегата NSSplitView
содержится в представлении к MainWindowController
учебный класс.
Без какой-либо связи IB, NSSplitView
делегат уже настроен на MainViewController
при запуске приложения. Я могу получить ссылку на MainWindowController
, но когда я пытаюсь установить делегата для контроллера окна (который реализует NSSplitViewDelegate
), Я получаю следующее:
*** Assertion failure in -[NSSplitView setDelegate:], /Library/Caches/com.apple.xbs/Sources/AppKit/AppKit-1404.34/AppKit.subproj/NSSplitView.m:600
Это также происходит, если я пытаюсь установить делегата на nil
,
Кто-нибудь знает, почему это может быть так, существуют ли ограничения на установку делегатов, и если есть способ использовать IB для установки делегата элемента в представлении другому контроллеру?
Благодарю.
1 ответ
У меня нет ссылки на это, но я почти уверен, что разделенное представление и контроллер разделенного представления не предназначены для разделения. К счастью, NSSplitViewController
отражает методы делегата, давая вам возможность вмешаться. Поэтому не должно быть оснований для изменения делегата разделенного представления.