我有一个故事情节提要,其中包含一个主窗口(包含一个相应的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来设置一个项的委托,以便将其委托给另一个Controller?
谢谢。
发布于 2016-03-19 14:00:07
我没有这方面的参考,但我很确定拆分视图和拆分视图控制器是不应该分开的。幸运的是,NSSplitViewController镜像了委托方法,为您提供了干预的机会。因此,不应更改拆分视图的委托。
https://stackoverflow.com/questions/36101738
复制相似问题