NSOperation et intéraction avec l'utilisateur

APAP Membre
05:16 modifié dans API AppKit #1
Bonjour,

J'ai une NSOperation manipulant des fichiers (copie). A certains moment, elle doit interagir avec l'utilisateur (quand par exemple le fichier copié existe déjà ) afin de savoir quoi faire (remplacer, renommer, ...)
Ma question est la suivante: comment depuis une NSOperation afficher une fenêtre de choix et attendre la réponse de l'utilisateur pour continuer le traitement?

Merci pour votre aide :)

Réponses

  • HerveHerve Membre
    05:16 modifié #2
    Je ne connais pas les NSOperation, mais à  l'ouverture d'une appli, j'ai mis ceci :
    NSAlert *choixTypePatch = [NSAlert alertWithMessageText:(@&quot;Wich kind of patch do you want to create?&quot;)<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; defaultButton:(@&quot;Pad&quot;) <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; alternateButton:(@&quot;Key&quot;)<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; otherButton:(@&quot;Seq&quot;)<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; informativeTextWithFormat:@&quot;&quot;];<br />&nbsp; &nbsp; &nbsp; &nbsp; <br />&nbsp; &nbsp; &nbsp; &nbsp; NSInteger patchResult;<br />&nbsp; &nbsp; &nbsp; &nbsp; patchResult = [choixTypePatch runModal];<br />&nbsp; &nbsp; &nbsp; &nbsp; if (patchResult == NSAlertDefaultReturn ){<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //à  faire dans ce cas<br />&nbsp; &nbsp; &nbsp; &nbsp; }<br />&nbsp; &nbsp; &nbsp; &nbsp; if (patchResult == NSAlertAlternateReturn) {<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //à  faire dans ce cas<br />&nbsp; &nbsp; &nbsp; &nbsp; }<br />&nbsp; &nbsp; &nbsp; &nbsp; if (patchResult == NSAlertOtherReturn) {<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  //à  faire dans ce cas<br />&nbsp; &nbsp; &nbsp; &nbsp; }
    


    Cela marche très bien. Le logiciel attend la réponse (obligatoire, même pas de Cancel option...) pour continuer.
Connectez-vous ou Inscrivez-vous pour répondre.