objective-c – NSWindowController showWindow:nil什么也不做
发布时间:2020-12-16 05:41:03 所属栏目:百科 来源:网络整理
导读:像标题一样,[myWindowController showWindow:nil]不起作用.以下是您可能需要了解的一些事实: 我的窗口控制器:KRAuthenticationWindowController 界面构建器文件:AuthenticationWindow.xib 文件的所有者是KRAuthenticationWindowController 窗口出口连接
像标题一样,[myWindowController showWindow:nil]不起作用.以下是您可能需要了解的一些事实:
>我的窗口控制器: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转换为实例变量.目前,它是一个局部变量.当局部变量消失时,窗口控制器可能会被释放,窗口被释放,所以它不会被显示出来.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |