gpt4 book ai didi

objective-c - (BOOL)窗口应该关闭 :(id)sender doesn't work in view that i set as contentview of mainmenu's window

转载 作者:行者123 更新时间:2023-12-03 17:42:13 27 4
gpt4 key购买 nike

我将 NSViewController 的 View 设置为主菜单窗口的内容 View ,现在我应该如何使用 - (BOOL)windowShouldClose:(id)sender ?

我用<NSWindowDelegate>在@interface中并输入- (BOOL)windowShouldClose:(id)sender在 .m 上,但不起作用

最佳答案

-(BOOL)windowShouldClose:(id)sender只被发送到将发送消息的窗口的委托(delegate)。 (如果您不太清楚代表是什么,他们有点像每个人都向其报告的军队指挥官)

在这里,为了能够使用-windowShouldClose:在你的NSViewController ,您需要设置NSViewController作为窗口的delegate 。有两个步骤:

  1. 使“NSViewController”成为窗口成为可能代表。通常窗口的委托(delegate)是 NSWindowController(它的名字是有原因的),但是如果你想做'NSViewController' 您需要使用的委托(delegate) <NSWindowDelegate>协议(protocol),您已经完成了。

  2. 实际上将 View Controller 设置为委托(delegate)。饰演 肯·托马斯在他的评论中指出,您可以通过以下方式在 Interface Builder 中执行此操作拖动窗口的delegate socket 并将其连接到您的NSViewController。或者你可以通过编程来完成: [self.view.window setDelegate:self]正如你提到的应该有效。

关于objective-c - (BOOL)窗口应该关闭 :(id)sender doesn't work in view that i set as contentview of mainmenu's window,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10083656/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com