我需要在加载NSDocument之前创建几个窗口,或者创建一个阻止NSDocument窗口和顶层菜单的窗口。
我尝试了几种解决方案 - 但它们无法正常工作。
模态窗口,一个接一个。 Async URLConnection存在一些问题,以及我的NSDocument内容存在的其他一些问题。
我创建了没有菜单的自定义MainMenu.xib,它打开了我的预初始化窗口。 在这里我发现了一些其他问题,当一个文件(与我的应用程序相关联)被打开时 - 文档窗口初始化。在这里我试图继承NSDocumentController,但我发现无法暂停“打开文档”。 (我希望文档无论如何都要打开,但只有在关闭preitalitalize窗口后才能打开。)
那么这样做的正确方法是什么?
答案 0 :(得分:0)
如果用户必须先通过未注册的对话框,请在您的应用委托中实施applicationShouldOpenUntitledFile:
以返回NO
。
在“试用”和“确认注册”按钮的操作方法中,自行创建无标题文档(通过将the necessary message发送到文档控制器)。
答案 1 :(得分:0)
所以正确的答案是实施:
*申请:openFiles:
* applicationShouldOpenUntitledFile:
并实现自己的文档创建。这是它对我有用的方式。
MyDocument* document = [[MyDocument alloc] initWithContentsOfURL:fileURL ofType:[fileName pathExtension] error:nil ]; if(document) { [[NSDocumentController sharedDocumentController] addDocument:document]; [document makeWindowControllers]; [document showWindows]; }
当然你需要编写错误处理代码。