Question

Comme l'indique le titre, je dois faire mon attente de programme jusqu'à ce que mes NSOpenPanel se ferme. J'ai ouvert le panneau à windowControllerWillLoadNib pour qu'il se passe devant ma fenêtre de document s'ouvre. Mais ce qui se passe est que, il charge juste les deux fenêtres sans attendre que le panneau de fermeture. Comment puis-je faire attendre jusqu'à ce que le panneau ouvert est fermé et complètement terminé?

Était-ce utile?

La solution

utiliser la méthode runModal.

Exemple de code:

int result;
NSOpenPanel *oPanel = [NSOpenPanel openPanel];
result = [oPanel runModalForDirectory:NSHomeDirectory() file:nil types:nil];
if (result == NSOKButton) {
//your code
}

Autres conseils

Configurer votre panneau ouvert et vous pouvez faire quelque chose comme ceci:

if ([openPanel runModal]==NSFileHandlingPanelOKButton) {
    // get the urls
    NSArray *fileURLs = [openPanel URLs];
} else {
    // cancel button was clicked
}

runModal arrête l'exécution de votre programme jusqu'à la fermeture du panneau.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top