Aplicativo baseado em documentos, Janela Preinitialize (digite serial, compra, teste)
-
23-09-2019 - |
Pergunta
Preciso criar várias janelas antes que o NSDocument seja carregado ou criar uma janela que bloqueie a janela NSDocument e o menu superior.
Eu tentei várias soluções - mas elas não funcionaram corretamente.
Janela modal, uma após a outra. Houve alguns problemas com o URLConnection assíncrono e alguns outros problemas com meu conteúdo do NSDocument.
Criei mainmenu.xib personalizado sem menu, que abre meu Windows pré -inicializado. Aqui encontrei alguns outros problemas, quando um arquivo (associado ao meu aplicativo) é aberto - a janela do documento inicializa. Aqui tentei subclasse nSdocumentController, mas não encontrei como pausar o "documento aberto". (Quero que o documento seja aberto de qualquer maneira, mas somente após a preintalizar as janelas ser fechadas).
Então, qual é a maneira certa de fazer isso?
Solução 2
Portanto, a resposta certa é implementar:
* Aplicação: OpenFiles:
* ApplicationShouldOpeNuntitledFile:
e implemente sua própria criação de documentos. É assim que funcionou para mim.
MyDocument* document = [[MyDocument alloc] initWithContentsOfURL:fileURL ofType:[fileName pathExtension] error:nil ]; if(document) { [[NSDocumentController sharedDocumentController] addDocument:document]; [document makeWindowControllers]; [document showWindows]; }
Claro que você precisa escrever código de manuseio de erros.
Outras dicas
Implemento applicationShouldOpenUntitledFile:
no seu delegado de aplicativo para retornar NO
Se o usuário tiver que passar pela caixa de diálogo não registrada, ainda assim.
Nos métodos de ação para os botões "Trial" e "Confirmar registro", crie o documento sem título (enviando a mensagem necessária para o controlador de documentos).