【问题标题】:Modal Session requires Modal Window Error on Mac模态会话需要 Mac 上的模态窗口错误
【发布时间】:2010-11-25 06:20:55
【问题描述】:

我需要从视频应用程序中的插件启动模态窗口。我在 Interface builder 中创建了一个 Nib 以及一个 NSWindowController 类。但是当我尝试像这样运行窗口时

Registration* newWin = [[Registration alloc] initWithWindowNibName:@"Options"];

[NSApp runModalForWindow: [newWin window]];

它在控制台中给我一个错误:模态会话需要模态窗口 我认为这与 Interface Builder 有关(对不起,我对 IB 真的很陌生)。

这里是 Nib 文件和类的链接。如果有人能告诉我我在 IB 做错了什么,我将不胜感激。谢谢。

[链接已删除]

【问题讨论】:

    标签: objective-c cocoa macos interface-builder


    【解决方案1】:

    您在 nib 文件中实例化了 Registration 的实例。这不是您准备用于NSWindowController 的 nib 文件的方式。 Registration 对象是包含在 nib 文件中的不同对象,而不是您在上面引用的代码中分配的 Registration 对象。

    在传递给initWithWindowNibName 的笔尖中,File's Owner 您在代码中创建的NSWindowController 实例。因此,在检查器中,将File's Owner 的类名设置为Registration,并将其window 插座连接为nib 文件中的窗口对象。

    【讨论】:

    • 啊!不敢相信我错过了。再次感谢!像魅力一样工作。
    • 我回到这个答案 againagain 那是导致这个错误的问题,谢谢 Yuji。熟能生巧,我想,最终我会学会将这些联系起来。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-29
    • 2013-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多