objective-c - 模态 session 需要 Mac 上的模态窗口错误

标签 objective-c cocoa macos interface-builder

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

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

[NSApp runModalForWindow: [newWin window]];

它在控制台中给我一个错误:Modal Session requires Modal Window 我认为这与 Interface Builder 有关(对不起,我对 IB 真的很陌生)。

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

[链接已删除]

最佳答案

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

在传递给 initWithWindowNibName 的 nib 中,File's Owner 您在代码中创建的 NSWindowController 实例.因此,在检查器中,将 File's Owner 的类名设置为 Registration 并将其 window 导出连接为您在nib 文件。

关于objective-c - 模态 session 需要 Mac 上的模态窗口错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4274275/

相关文章:

iphone - 如何访问从 Storyboard加载的 View Controller 的属性?

cocoa arc4random OS X 10.6

ios - 泄漏的对象 : ALasset and ALAssetPrivate

ios - 模糊 ICarousel 中的图像

objective-c - 如何获取 NSTextStorage/NSString 中的单词数?

cocoa - 剥皮 cocoa 控件

iOS:字符串。从绝对位置获取行号和列号,反之亦然

android - 安装没有成功。无法安装该应用程序。由于 : '-26' Retry 安装失败

macos - sem_open 在 Mac OS X 10.6.6 HFS+ 上为少于 64 个字符的名称设置 ENAMETOOLONG

ios - 获取UICollectionView中Scroll的总高度?