Voici ce que j'essaie de faire. Je dois demander à l'utilisateur une invite de mot de passe et jusqu'à ce qu'il entre le mot de passe et frappe, dites le bouton Enter sur la feuille, je veux empêcher le code étant analysé en arrière-plan. Voici le code pour exécuter la feuille et lorsque l'utilisateur entre le mot de passe et frappe Enter, endSpeedSheet est exécuté. J'appelle tout cela de ma fonction Main().NSApp Sheets question dans le cacao
Ce que je remarque est que lorsque la fonction principale s'exécute, la feuille apparaît, l'utilisateur est invité à entrer un mot de passe. Mais en arrière-plan, je vois déjà que "Code arrive ici" a été lancé. Cela signifie que le code a déjà été exécuté en arrière-plan. Ce dont j'ai besoin, c'est que le code attende à l'invite du mot de passe, puis utilise ce mot de passe après que la feuille a été fermée. Une idée sur ce qui me manque ici? (Et merci d'avance :))
- (IBAction) showSpeedSheet:(id)sender
{
[NSApp beginSheet:speedSheet
modalForWindow:(NSWindow *)window
modalDelegate:nil
didEndSelector:nil
contextInfo:nil];
}
-(IBAction)endSpeedSheet:(id)sender
{
joinPassword = [joinPasswordLabel stringValue];
[NSApp endSheet:speedSheet];
[speedSheet orderOut:sender];
}
-(IBAction)main:(id)sender
{
[self showSpeedSheet:(id)sender];
// More Code here
NSLog(@" Code gets here");
}
Merci Rob. Cela a beaucoup aidé. Je l'ai fonctionné maintenant. Pour tous ceux qui trébuchent sur ce lien, regardez ça aussi. Je l'ai trouvé utile: http://etutorials.org/Programming/Cocoa/Part+I+Introducing+Cocoa/Chapter+3.+The+Application+Kit/3.6+Sheets/ – cocoacoder