macos - 从 NSToolbar 覆盖 prepareForSegue

标签 macos cocoa swift segue

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

我不知道哪个类会收到 prepareForSegue 调用。它似乎没有调用任何其他 View Controller (无论如何这都没有意义)。

那么 - 我应该在哪里覆盖 prepareForSegue 或者我必须以其他方式执行此操作?

最佳答案

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

import Cocoa

class MyWindowController: NSWindowController {    

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

并在界面生成器中设置窗口 Controller 类为MyWindowController

关于macos - 从 NSToolbar 覆盖 prepareForSegue,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28533687/

相关文章:

swift - 未调用 prepareForDragOperation()

SpriteKit 的 Swift CollisionBitMask 值不起作用

ios - 如果我将 UUID 存储在钥匙串(keychain)中,iOS 应用商店批准是否有任何问题

c++ - 为外部项目设置 RPATH?

java - 无法在Intellij中编译gradle vaadin项目

c++ - 从 .dylib 转换为 .so

iphone - 如何复制 UINavigationBar 渐变颜色?

cocoa - CALayer的表现层是如何生成的?

swift - 将测量结果存储在核心数据中

xcode - 在每次 macOS 启动时验证 "Xcode"