Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos 从NSToolbar重写prepareForSegue_Macos_Cocoa_Swift_Segue - Fatal编程技术网

Macos 从NSToolbar重写prepareForSegue

Macos 从NSToolbar重写prepareForSegue,macos,cocoa,swift,segue,Macos,Cocoa,Swift,Segue,我有一个NSToolbar,里面有一个NSToolbarItem。该项分段显示第二个视图控制器,我希望能够在分段之前设置视图控制器的表示对象,这意味着我需要覆盖prepareforsgue 我不知道哪个类将接收prepareforsgue调用。它似乎没有调用任何其他视图控制器(这无论如何都没有意义) 那么-我在哪里重写prepareForSegue或者我必须以其他方式执行此操作?您必须对NSWindowController进行子类化,并将代码放在那里,如下所示: import Cocoa cl

我有一个NSToolbar,里面有一个NSToolbarItem。该项分段显示第二个视图控制器,我希望能够在分段之前设置视图控制器的表示对象,这意味着我需要覆盖
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控制器是一件痛苦的事:(