Comment puis-je faire mon programme attendre NSOpenPanel fermer?
-
27-10-2019 - |
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é?
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