AppDelegate(OSX)主要NSWindow的参考出口

时间:2015-05-27 20:27:42

标签: objective-c macos nswindow appdelegate

当您创建新项目时,我似乎记得您能够使用self.window方法中的AppDelegate访问它在故事板中创建的基本空白窗口。

我似乎无法通过故事板为AppDelegate.h文件设置参考出口。我只是产生幻觉,或者无法从AppDelegate访问窗口/控制器?

我混淆了iOS和OSX的做法吗?

2 个答案:

答案 0 :(得分:5)

使用故事板,似乎无法将WindowController连接到AppDelegate。我使用以下内容来获取对主窗口的引用:

AppDelegate.h

@property (weak) NSWindow* window;

AppDelegate.m

    - (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
            _window = [[[NSApplication sharedApplication] windows] firstObject];
    }

有关快速解决方案,请参阅this question。希望这会有所帮助:)

答案 1 :(得分:-1)

它为我工作。

我在我的AppDelegate.h中添加了一个IBOutlet

@property (nonatomic) IBOutlet NSWindow *window;

然后在Interface Builder(MainMenu.xib)中选择App Delegate:

enter image description here

您的IBOutlet应位于右侧Connection inspector

enter image description here

你的.xib和你的AppDelegate之间的联系可能会丢失吗?