从 NSToolbar 覆盖 prepareForSegue

Override prepareForSegue from NSToolbar

我有一个 NSToolbar,里面有一个 NSToolbarItem。该项目继续显示第二个视图控制器,我希望能够在继续之前设置视图控制器的表示对象,这意味着我需要在某处覆盖 prepareForSegue

我不知道哪个 class 会接到 prepareForSegue 电话。它似乎没有调用任何其他视图控制器(无论如何这都没有意义)。

那么 - 我应该在哪里覆盖 prepareForSegue 或者我必须以其他方式来做这个?

你必须 subclass NSWindowController 并把代码放在那里,像这样:

import Cocoa

class MyWindowController: NSWindowController {    

    override func prepareForSegue(segue: NSStoryboardSegue, sender: AnyObject?) {
        if segue.identifier == "mySegue" {
            // Do whatever you want
        }
    }
}

并在界面生成器中将 window 控制器的 class 设置为 MyWindowController