加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

objective-c – NSWindowController showWindow:nil什么也不做

发布时间:2020-12-16 05:41:03 所属栏目:百科 来源:网络整理
导读:像标题一样,[myWindowController showWindow:nil]不起作用.以下是您可能需要了解的一些事实: 我的窗口控制器:KRAuthenticationWindowController 界面构建器文件:AuthenticationWindow.xib 文件的所有者是KRAuthenticationWindowController 窗口出口连接
像标题一样,[myWindowController showWindow:nil]不起作用.以下是您可能需要了解的一些事实:

>我的窗口控制器:KRAuthenticationWindowController
>界面构建器文件:AuthenticationWindow.xib
>文件的所有者是KRAuthenticationWindowController
窗口出口连接到窗口
>窗口的代表连接到文件的所有者
>启动时的窗口可见未被选中
>关闭时的窗口释放也被取消选中

我的代码如下:

// KRApplicationDelegate.m

- (void)applicationDidFinishLaunching:(NSNotification *)notification {
    NSLog(@"%s",__PRETTY_FUNCTION__);
    KRAuthenticationWindowController *authWindowController = [[KRAuthenticationWindowController alloc] init];
    [authWindowController showWindow:nil];
    [[authWindowController window] makeKeyAndOrderFront:nil];
}

// KRAuthenticationWindowController.m

- (id)init {
    self = [super initWithWindowNibName:@"AuthenticationWindow"];
    if(!self) return nil;
    NSLog(@"%s",__PRETTY_FUNCTION__);
    return self;
}

- (void)loadWindow {
    [super loadWindow];
    [self.window setBackgroundColor:[NSColor colorWithDeviceWhite:0.73 alpha:1]];
    NSLog(@"%s",__PRETTY_FUNCTION__);
}

- (void)windowDidLoad {
    [super windowDidLoad];
    NSLog(@"%s",__PRETTY_FUNCTION__);
}

- (void)showWindow:(id)sender {
    [super showWindow:sender];
    NSLog(@"%@",self.window);
    NSLog(@"%s",__PRETTY_FUNCTION__);
}

我的控制台输出:

2013-02-24 16:21:45.420 Application[3105:303] -[KRApplicationDelegate applicationDidFinishLaunching:]
2013-02-24 16:21:45.421 Application[3105:303] -[KRAuthenticationWindowController init]
2013-02-24 16:21:45.428 Application[3105:303] -[KRAuthenticationWindowController loadWindow]
2013-02-24 16:21:45.428 Application[3105:303] -[KRAuthenticationWindowController windowDidLoad]
2013-02-24 16:21:45.556 Application[3105:303] <NSWindow: 0x10016e860>
2013-02-24 16:21:45.556 Application[3105:303] -[KRAuthenticationWindowController showWindow:]

我想我只是想念一些重要的东西.任何帮助将不胜感激.

解决方法

尝试将authWindowController转换为实例变量.目前,它是一个局部变量.当局部变量消失时,窗口控制器可能会被释放,窗口被释放,所以它不会被显示出来.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读