Savoir si un Process NSTask est fini
aranaud
Membre
Je voudrai savoir si s'est possible (sûrement) de savoir si un processus lancer avec NSTask est fini. Et comment le savoir.
J'ai essayé avec :
Mais sa plante (. Est-ce que j'utilise la bonne méthode ou pas ?
Nota : il y a plusieurs NSTask.
J'ai essayé avec :
<br />- (void)checkATaskStatus:(NSNotification *)aNotification {<br /> int status = [[aNotification object] terminationStatus];<br /> if (status == 0) {<br /> NSLog(@"Task succeeded.");<br /> ...<br /> // mon code<br /> ...<br /> } else {<br /> NSLog(@"Task failed.");<br /> }<br />}<br />
Mais sa plante (. Est-ce que j'utilise la bonne méthode ou pas ?
Nota : il y a plusieurs NSTask.
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
[ouf à 3 minutes près j'était grillé ]
Merci d'en dire un peu plus la prochaine fois.
Ce que j'arrive à deviner dans ma boule de cristal, c'est que tu dois utiliser la notification NSTaskDidTerminateNotification.
Mais comme ma boule de cristal n'arrive pas à voir comment tu a écris le code de création/lancement de la NSTask et l'enregistrement auprès du notificationCenter, alors là s'arrête ma divination.
.
dans l'init
lancement du process, suite au téléchargement d'une archive sur internet, je la décompresse.
Traitement une fois décompresse
Le rapport de blocage
et plus loin, dans la méthode de fin de NSTask :
Comment veux tu que [aNotification object] fonctionne, puisque tu y mets nil ?
Modifie ton code en supprimant ta méthode init, et en mettant :
à la suite [openMiseJours setCurrentDirectoryPath:] dans la méthode downloadDidFinish.
Enfin, dans la méthode checkATaskStatus, n'oublie pas de faire un release sur la tâche (ce que tu ne semble pas faire actuellement) et de retirer du NSNotificationCenter ton observateur.
.
Nota : l'exemple donné par Apple n'est pas très claire.
@+