我需要从视频应用程序中的插件启动模态窗口。我在Interface Builder中创建了一个Nib以及一个NSWindowController类。但是当我尝试像这样运行窗口时
Registration* newWin = [[Registration alloc] initWithWindowNibName:@"Options"];
[NSApp runModalForWindow: [newWin window]];
它在控制台中出现错误:模态会话需要模态窗口 我认为它与Interface Builder有关(请原谅我,我对IB很陌生)。
这是Nib文件和类的链接。如果有人能告诉我在IB中做错了什么,我将不胜感激。感谢。
[已删除链接]
答案 0 :(得分:17)
您在nib文件中实例化了Registration
的实例。这不是你准备一个nib文件用于NSWindowController
的方式。 Registration
对象是nib文件中包含的不同对象,而不是您在上面引用的代码中分配的Registration
对象。
在传递给initWithWindowNibName
的笔尖中,File's Owner
是您在代码中创建的NSWindowController
实例。因此,在检查器中,将File's Owner
的类名设置为Registration
,并将其window
出口连接为nib文件中的窗口对象。