无法更改 NSSplitView 上的委托
Unable to change delegate on NSSplitView
我有一个故事板,其中包含一个主 window(具有相应的 MainWindowController
class)和一个主视图(一个 NSSplitViewController
,具有相应的 MainViewController
class)。对于某些功能,我试图将视图中包含的 NSSplitView
的委托设置为 MainWindowController
class.
在没有任何 IB 链接的情况下,NSSplitView
委托在应用程序启动时已设置为 MainViewController
。我能够获得对 MainWindowController
的引用,但是当我尝试将委托设置为 window 控制器(它确实实现了 NSSplitViewDelegate
)时,我得到以下信息:
*** Assertion failure in -[NSSplitView setDelegate:], /Library/Caches/com.apple.xbs/Sources/AppKit/AppKit-1404.34/AppKit.subproj/NSSplitView.m:600
如果我尝试将委托设置为 nil
,也会发生这种情况。
有谁知道为什么会这样,是否有设置委托的限制,是否有办法使用 IB 将视图中的项目的委托设置为另一个控制器?
谢谢。
我没有这方面的参考,但我很确定拆分视图和拆分视图控制器并不意味着要分开。幸运的是,NSSplitViewController
反映了委托方法,让您有机会进行干预。因此,没有理由更改拆分视图的委托。
我有一个故事板,其中包含一个主 window(具有相应的 MainWindowController
class)和一个主视图(一个 NSSplitViewController
,具有相应的 MainViewController
class)。对于某些功能,我试图将视图中包含的 NSSplitView
的委托设置为 MainWindowController
class.
在没有任何 IB 链接的情况下,NSSplitView
委托在应用程序启动时已设置为 MainViewController
。我能够获得对 MainWindowController
的引用,但是当我尝试将委托设置为 window 控制器(它确实实现了 NSSplitViewDelegate
)时,我得到以下信息:
*** Assertion failure in -[NSSplitView setDelegate:], /Library/Caches/com.apple.xbs/Sources/AppKit/AppKit-1404.34/AppKit.subproj/NSSplitView.m:600
如果我尝试将委托设置为 nil
,也会发生这种情况。
有谁知道为什么会这样,是否有设置委托的限制,是否有办法使用 IB 将视图中的项目的委托设置为另一个控制器?
谢谢。
我没有这方面的参考,但我很确定拆分视图和拆分视图控制器并不意味着要分开。幸运的是,NSSplitViewController
反映了委托方法,让您有机会进行干预。因此,没有理由更改拆分视图的委托。