我有一个NSDocument子类与两个NSWindowControllers对应于2个不同的xib。NSWindowController不在init中隐藏其窗口?
继基于文档的应用指南我已经加入我的document.m执行以下
- (void)makeWindowControllers
{
NSLog(@"in MakeWindowControllers");
MainWindowController *mainWindowController = [[MainWindowController alloc] init];
[mainWindowController autorelease];
[self addWindowController:mainWindowController];
csvWindowController = [[CSVWindowController alloc] init];
[csvWindowController autorelease];
[self addWindowController:csvWindowController];
}
问题是,我想第二个窗口控制器csvWindowController最初隐藏其窗口,我会表现出同样的实例稍后的窗口。这样做我写了:
@implementation CSVWindowController
- (id) init {
if (! (self = [super initWithWindowNibName:@"CSVWindow"])) {
NSLog(@"CSVWindowController init failed");
return nil;
}
window = [self window];
NSLog(@"CSVWindowController init");
[window orderOut:nil]; // to hide it
NSLog(@"CSVWindowController hiding the window");
return self;
}
但窗口在那里,显示出来。
请不是我有VisibleAtLaunch没有被标记,该控制台它正确地显示我的邮件,即使我改变:
[window orderOut:nil]; // to hide it
to
[window orderOut:self]; // to hide it
结果显示出来一样,窗口。
任何帮助表示赞赏,感谢:)