模态会话需要Mac上的模态窗口错误

rwb*_*rwb 8 macos cocoa objective-c interface-builder

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

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

[NSApp runModalForWindow: [newWin window]];
Run Code Online (Sandbox Code Playgroud)

它在控制台中给出了一个错误:模态会话需要模态窗口我认为它与Interface Builder有关(请原谅,我对IB很新).

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

[已删除链接]

Yuj*_*uji 17

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

在传递给的nib中initWithWindowNibName,File's Owner NSWindowController您在代码中创建的实例.因此,在检查中,设置的类名File's OwnerRegistration和连接其window插座上,以笔尖文件中的窗口对象.