我有一个菜单项选择触发segue你可以在附加的图片上看到
NSMeniItem连接:
它触发的segue:
如何以编程方式触发segue。 它有一个标识符,没关系。 但是,我必须将什么对象称为
- (void)performSegueWithIdentifier:(NSString *)identifier sender:(id)sender;
答案 0 :(得分:0)
let mainStoryBoard = NSStoryboard(name: "Main", bundle: nil)
windowController = mainStoryBoard.instantiateController(withIdentifier: "Preferences") as! NSWindowController
windowController.showWindow(self)
,其中 windowController是AppDelegate中的一个属性 “首选项”是故事板中的标识符
它有利于获取对窗口控制器本身的引用
因为我不需要参考目前只想触发segue我留下了以下解决方案
[NSApp sendAction:mPreferencesMenuItem.action to:mPreferencesMenuItem.target from:mPreferencesMenuItem];
其中mPreferencesMenuItem是触发segue的菜单项
答案 1 :(得分:0)
NSViewController
和NSWindowController
符合NSSeguePerforming
协议。因此,在您的控制器子类中,您可以调用[self performSegueWithIdentifier:(NSString *)identifier sender:(id)sender];