我将 NSViewController 的视图设置为主菜单窗口的内容视图,现在我应该如何使用 - (BOOL)windowShouldClose:(id)sender ?
我<NSWindowDelegate>
在@interface 中使用并穿上- (BOOL)windowShouldClose:(id)sender
.m 但不起作用
我将 NSViewController 的视图设置为主菜单窗口的内容视图,现在我应该如何使用 - (BOOL)windowShouldClose:(id)sender ?
我<NSWindowDelegate>
在@interface 中使用并穿上- (BOOL)windowShouldClose:(id)sender
.m 但不起作用
-(BOOL)windowShouldClose:(id)sender
只会发送给将要发送消息的窗口的委托。(如果您不清楚代表是什么,他们有点像每个人都向其报告的军队指挥官)
在这里,为了能够-windowShouldClose:
在你的中使用NSViewController
,你需要将 设置NSViewController
为窗口的delegate
. 有两个步骤:
使“NSViewController”成为窗口委托成为可能。通常窗口的委托是NSWindowController
(它被命名是有原因的),但是如果你想让'NSViewController'成为你需要使用
<NSWindowDelegate>
你已经完成的协议的委托。
实际上将视图控制器设置为委托。正如 Ken Thomases 在他的评论中指出的那样,您可以在 Interface Builder 中通过拖动窗口的delegate
出口并将其连接到您的 NSViewController 来执行此操作。或者您可以以编程方式执行此操作:
[self.view.window setDelegate:self]
正如您提到的那样应该可以工作。