可以在同一个应用程序中有两个 NSWindowController 吗?

Possible to have two NSWindowController in the same app?

我是 mac os x 开发的新手。我曾经是一名 iOS 开发人员,最近开始玩 mac os x 演示应用程序。我所做的很简单,我创建了一个新应用程序,它有一个 main.storyboard 和一个 windows 控制器和一个视图控制器。然后我创建了一个新的情节提要,添加了一个 windows 视图控制器,它带有它的视图控制器。我给 windows 控制器一个标识符,将一个菜单项绑定到应用程序委托中的一个方法,例如:

NSStoryboard *storyBoard = [NSStoryboard storyboardWithName:@"Main" bundle:nil]; // get a reference to the storyboard
NSWindowController *storeOpsWC = [storyBoard instantiateControllerWithIdentifier:@"TestVC"]; // instantiate your window controller
[storeOpsWC showWindow:self]; // show the window

我运行 应用程序。原来的 Window 按预期显示。然后我点击我的菜单项,第二个 window 出现,但是当我点击第一个 window 时,新的 window 消失了!我错过了什么?

我测试了你的描述。我从故事板创建了一个新的 window 控制器,创建了一个新的菜单项,将该项目连接到 Windowcontroller,并且它可以工作。 如果您需要对 window 控制器的引用,请像 iOS 中那样使用 segue 发件人。