我有一个简单的项目,其中包含Mac OS X应用程序的故事板。我在NSView上放置了一个按钮,并创建了一个名为OtherClass的新类。然后我把一个IBAction链接到OtherClass.h。现在我想在主窗口中显示一个模型表。当使用ViewController作为类时,我可以简单地做:
NSWindow *window = [self.view window];
NSAlert *alert = [[NSAlert alloc]init];
[alert beginSheetModalForWindow:window completionHandler:nil];
但是我如何在另一个班级做到这一点呢?如果这很重要,我正在使用 Xcode 6.3。
感谢您的帮助
您可以简单地引用与按钮关联的窗口对象。所以你可以从你的其他类像这样调用
-(IBAction)callSheet:(id)sender {
NSWindow *window;
if([sender respondsToSelector(@selector(window))]){
window = [sender window];
}else if([sender respondsToSelector(@selector(view))]){
window = [sender view].window;
}
//Now call your alert
}