Невозможно изменить делегата в 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 отражает методы делегата, давая вам возможность вмешаться. Поэтому не должно быть оснований для изменения делегата разделенного представления.

Другие вопросы по тегам