如何在macOS游戏模板中连接NSWindowDelegate

时间:2017-12-05 19:25:18

标签: objective-c macos cocoa

这是相关问题的“操作方法”: cocoa windowDidEnterFullScreen not being called

使用Xcode(9.1)macOS“游戏”模板 -

我想使用AppDelegate类创建一个简单的NSWindowDelegate。但是我似乎无法将给定的NSWindow出口连接到任何东西。

// AppDelegate.h
#import <Cocoa/Cocoa.h>

@interface AppDelegate : NSObject <NSApplicationDelegate, NSWindowDelegate>

@property (assign) IBOutlet NSWindow *window; // won't connect

@end

我假设我应该连接到故事板中的“窗口”。当我尝试连接时会发生这种情况 - 检查员没有出现。

enter image description here

我在这里缺少什么?

注意:我只是在玩,所以我不在乎AppDelegate是否是正确的地方,我只是想要一些工作。

编辑1

使用来自回答的建议,我尝试将'TestFullscreen'窗口连接到AppDelegate对象,但它仍然无法通过AppDelegate检查器或代码中的属性声明进行连接。

enter image description here

2 个答案:

答案 0 :(得分:1)

你应该有一个Delegate对象,这就是应该与你的窗口连接的对象。

enter image description here

enter image description here

您好像正在尝试将窗口连接到自身。此外,它也没有显示窗口视图,因此您需要为窗口内容添加该视图。

答案 1 :(得分:0)

解决方法是简单地创建非Workspace项目。

编辑XIB后,您可以在指定了NSWindowDelegate协议后将Window委托出口连接到AppDelegate。