Macos 从NSToolbar重写prepareForSegue
我有一个NSToolbar,里面有一个NSToolbarItem。该项分段显示第二个视图控制器,我希望能够在分段之前设置视图控制器的表示对象,这意味着我需要覆盖Macos 从NSToolbar重写prepareForSegue,macos,cocoa,swift,segue,Macos,Cocoa,Swift,Segue,我有一个NSToolbar,里面有一个NSToolbarItem。该项分段显示第二个视图控制器,我希望能够在分段之前设置视图控制器的表示对象,这意味着我需要覆盖prepareforsgue 我不知道哪个类将接收prepareforsgue调用。它似乎没有调用任何其他视图控制器(这无论如何都没有意义) 那么-我在哪里重写prepareForSegue或者我必须以其他方式执行此操作?您必须对NSWindowController进行子类化,并将代码放在那里,如下所示: import Cocoa cl
prepareforsgue
我不知道哪个类将接收prepareforsgue
调用。它似乎没有调用任何其他视图控制器(这无论如何都没有意义)
那么-我在哪里重写
prepareForSegue
或者我必须以其他方式执行此操作?您必须对NSWindowController
进行子类化,并将代码放在那里,如下所示:
import Cocoa
class MyWindowController: NSWindowController {
override func prepareForSegue(segue: NSStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "mySegue" {
// Do whatever you want
}
}
}
并将interface builder中的window controller类设置为
MyWindowController
,它应该是屏幕上处于活动状态的类。我就是这样完成的-尽管从一个视图控制器获取信息到window控制器是一件痛苦的事:(