我想在应用程序打开时启动调试日志窗口。以下是我计划如何做到这一点:
-(void)applicationDidFinishLaunching:(NSNotification *)notification
{
LogWindowController *lwc = [[LogWindowController alloc] initWithWindowNibName:@"LogWindow"];
[lwc showWindow:self];
[[lwc logWindow] orderFront:self];
}
创建并运行日志窗口,例如在“窗口”菜单中可用。但它在任何地方都看不到。
如果我在响应菜单项时运行相同的代码,则日志窗口会按预期显示。
为什么会发生这种情况,如何在应用程序启动时打开我的日志窗口?
答案 0 :(得分:3)
没有任何东西对这个窗口控制器有强烈的引用。在此功能结束时,lwc
将被释放,这将立即关闭窗口(在绘制周期发生之前,所以你不会看到闪光灯或任何东西)。
您需要将lwc
存储在strong
属性中,以便在您希望它发布之前不会将其释放。