OS X – NSViewController如何find它的窗口?

我有一个基于文档的核心数据应用程序。 主文档窗口有许多视图,每个视图都由自己的自定义NSViewController控制,并根据需要进行切换。 我希望每个这些视图控制器能够从文档窗口下拉自定义模态表。 但是因为视图是分开的,而不是在MyDocument nib我不能将视图链接到IB中的文档窗口。 这意味着当我打电话

 [NSApp beginSheet: sheetWindow modalForWindow: mainWindow modalDelegate: self didEndSelector: @selector(didEndSheet:returnCode:contextInfo:) contextInfo: nil]; 

我为mainWindow提供nil,因此表单分离。

有什么build议么?

非常感谢

你可以使用[[self view] window]

的确,它是self.view.window(Swift)。

这可能在viewDidLoad()和viewWillAppear()中为零,但在viewDidAppear()的时候设置正确。

如果您的控制器可以访问NSDocument子类,则可以使用-windowForSheet