Objective c 模式会话需要Mac上的模式窗口错误
我需要从视频应用程序中的插件启动一个模式窗口。我在Interface builder中创建了一个Nib以及一个NSWindowController类。但是当我试着像这样打开窗户的时候Objective c 模式会话需要Mac上的模式窗口错误,objective-c,cocoa,macos,interface-builder,Objective C,Cocoa,Macos,Interface Builder,我需要从视频应用程序中的插件启动一个模式窗口。我在Interface builder中创建了一个Nib以及一个NSWindowController类。但是当我试着像这样打开窗户的时候 Registration* newWin = [[Registration alloc] initWithWindowNibName:@"Options"]; [NSApp runModalForWindow: [newWin window]]; 它在控制台中给了我一个错误:模态会话需要模态窗口 我认为这与In
Registration* newWin = [[Registration alloc] initWithWindowNibName:@"Options"];
[NSApp runModalForWindow: [newWin window]];
它在控制台中给了我一个错误:模态会话需要模态窗口
我认为这与Interface Builder有关(对不起,我对IB真的很陌生)
这里是指向Nib文件和类的链接。如果有人能告诉我IB的错误,我将不胜感激。谢谢
[链接已删除]您在nib文件中实例化了
注册的一个实例。这不是准备nib文件用于NSWindowController
的方法。该注册
对象是nib文件中包含的一个不同对象,而不是您在上面引用的代码中分配的注册
对象
在传递给initWithWindowNibName
的nib中,文件的所有者是您在代码中创建的NSWindowController
实例。因此,在inspector中,将文件所有者的类名设置为注册
,并将其窗口
出口连接为nib文件中的窗口对象。Ah!真不敢相信我错过了。再次感谢!我一次又一次地回到这个答案,这是我这边的问题导致了这个错误,谢谢Yuji。我想,熟能生巧,最终我会学会把这些联系起来。