AppDelegate 中主 NSWindow 的引用出口 (OSX)

Reference outlet to main NSWindow in AppDelegate (OSX)

当您创建一个新项目时,我似乎记得您可以使用 AppDelegate 方法中的 self.window 访问故事板中创建的基本空白 window。

我似乎也无法通过故事板为 AppDelegate.h 文件设置参考出口。我只是幻觉还是无法从 AppDelegate 访问 window/controller?

我是否混淆了 iOS 和 OSX 做法?

对我有用。

我在 AppDelegate.h

中添加了一个 IBOutlet
@property (nonatomic) IBOutlet NSWindow *window;

然后在您的 Interface Builder 中(对我来说 MainMenu.xib)select App Delegate:

您的 IBOutlet 应该在 Connection inspector 右边:

也许您的 .xib 和 AppDelegate 之间的连接丢失了?

使用故事板,似乎无法将 WindowController 连接到 AppDelegate。我使用以下内容来获取对主要 window:

的引用

AppDelegate.h

@property (weak) NSWindow* window;

AppDelegate.m

    - (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
            _window = [[[NSApplication sharedApplication] windows] firstObject];
    }

swift 解决方案参见 。希望这会有所帮助:)