我有一个NSWindowController
子类,带有一个关联的xib文件。
从我的app委托中,我使用以下代码显示:
if(!wc)
wc = [[NSWindowController alloc]initWithWindowNibName:@"MyNewWindowController"];
[wc showWindow:nil];
显示窗口。现在我想在新窗口控制器中引用该窗口,但无法确定如何。具体来说,我在新窗口上有一个按钮,我想写一些类似的东西:
- (IBAction)doStuffAndCloseWindow:(id)sender
{
[self doSomeStuff];
[*window* orderOut:nil];
}
我已经尝试创建一个窗口变量(就像在appdelegate中创建的那个),但编译器说我的窗口变量是私有的。
我应该在MyNewWindowController.m
?
由于
答案 0 :(得分:0)
那将是'window'
method of NSWindowController。它也是您可以通过“.window
”访问的属性。
因此,在第一个代码段中,那将是:
[wc window]
并在第二个代码片段中(假设“doStuffAndCloseWindow
”是您的子类NSWindowController的一部分):
- (IBAction)doStuffAndCloseWindow:(id)sender
{
[self doSomeStuff];
[[self window] orderOut:nil];
}
答案 1 :(得分:0)
感谢Michael,请参见上文,首先声明您的子类NSwindowController
@property IBOutlet MyNewWindowController *wc;
然后在子类窗口控制器的实现中,您可以使用
引用关联的窗口[[self window] .....];
例如
[[self window] orderOut:self];