我如何引用与 nswindow 控制器关联的 window
how do i reference the window associated with a nswindowcontroller
我有一个 NSWindowController
的子类和一个关联的 xib 文件。
在我的应用程序委托中,我使用以下代码显示它:
if(!wc)
wc = [[NSWindowController alloc]initWithWindowNibName:@"MyNewWindowController"];
[wc showWindow:nil];
这显示 window。现在我想在新的 window 控制器中引用 window,但不知道如何引用。具体来说,我在新 window 上有一个按钮,我想写这样的东西:
- (IBAction)doStuffAndCloseWindow:(id)sender
{
[self doSomeStuff];
[*window* orderOut:nil];
}
我试过创建一个 window 变量(就像在 appdelegate 中创建的那样)但是编译器说我的 window 变量是私有的。
那么我是否在 MyNewWindowController.m
中声明并引用了 window?
谢谢
那就是 'window'
method of NSWindowController。它也是一个 属性,您可以通过“.window
”访问。
因此,在第一个代码片段中,它将是:
[wc window]
在第二个代码片段中(假设“doStuffAndCloseWindow
”是子类 NSWindowController 的一部分):
- (IBAction)doStuffAndCloseWindow:(id)sender
{
[self doSomeStuff];
[[self window] orderOut:nil];
}
感谢 Michael,见上文,首先声明你的子类 NSwindowController
@property IBOutlet MyNewWindowController *wc;
然后在子类window控制器的实现中,可以引用关联的window和
[[self window] .....];
例如
[[self window] orderOut:self];
我有一个 NSWindowController
的子类和一个关联的 xib 文件。
在我的应用程序委托中,我使用以下代码显示它:
if(!wc)
wc = [[NSWindowController alloc]initWithWindowNibName:@"MyNewWindowController"];
[wc showWindow:nil];
这显示 window。现在我想在新的 window 控制器中引用 window,但不知道如何引用。具体来说,我在新 window 上有一个按钮,我想写这样的东西:
- (IBAction)doStuffAndCloseWindow:(id)sender
{
[self doSomeStuff];
[*window* orderOut:nil];
}
我试过创建一个 window 变量(就像在 appdelegate 中创建的那样)但是编译器说我的 window 变量是私有的。
那么我是否在 MyNewWindowController.m
中声明并引用了 window?
谢谢
那就是 'window'
method of NSWindowController。它也是一个 属性,您可以通过“.window
”访问。
因此,在第一个代码片段中,它将是:
[wc window]
在第二个代码片段中(假设“doStuffAndCloseWindow
”是子类 NSWindowController 的一部分):
- (IBAction)doStuffAndCloseWindow:(id)sender
{
[self doSomeStuff];
[[self window] orderOut:nil];
}
感谢 Michael,见上文,首先声明你的子类 NSwindowController
@property IBOutlet MyNewWindowController *wc;
然后在子类window控制器的实现中,可以引用关联的window和
[[self window] .....];
例如
[[self window] orderOut:self];