Utilisation de la méthode - (BOOL)writeToURL:(NSURL *)absoluteURL ofType:...

aranaudaranaud Membre
15:19 modifié dans Vos applications #1
Dans une sous classe NSDocument, j'utilise la méthode - (BOOL)writeToURL:(NSURL *)absoluteURL ofType:(NSString *)typeName error:(NSError **)outError que j'ai surclassé (je ne suis pas sur du terme  :o ) mais j'ai un problème quand je quitte l'application. L'enregistrement se passe bien mais je suis obligé de bouger la sourie sur le fenêtre pour quitter l'application lorsque l'enregistrement est finie.

Pourtant je retourne bien le YES à  la fin. Est-ce qui faut rajouter une action concerte pour quitter l'application dans la méthode - (BOOL)writeToURL:(NSURL *)absoluteURL ofType:(NSString *)typeName error:(NSError **)outError ?

Réponses

  • Eddy58Eddy58 Membre
    15:19 modifié #2
    Surchargé tu veux dire ? ;)
    En faites, tu quittes ton appli à  la fin de cette méthode ? Le mieux est de nous montrer le code de ta méthode je pense.
  • aranaudaranaud Membre
    février 2006 modifié #3
    <br />- (BOOL)writeToURL:(NSURL *)absoluteURL ofType:(NSString *)typeName error:(NSError **)outError<br />    //      methode de la gestion de la sauvegarde<br />{<br />    NSFileManager *managerPackager = [NSFileManager defaultManager];                                                        // gestion fichier &amp; dossier<br />    BOOL isDir;<br />    if ([managerPackager fileExistsAtPath:[absoluteURL path] isDirectory:&amp;isDir] &amp;&amp; isDir) { }                              // vérifie que le Packager exite<br />    else [managerPackager createDirectoryAtPath:[absoluteURL path] attributes:nil];                                         // création du Packager<br />    [fichierBudgetPrincipal setDataFichier:niveauRoot nomFichier:@&quot;budget.gbgtm&quot;];<br />    [fichierBudgetPrincipal setWindowLien:[window_control window]];<br />    [fichierBudgetPrincipal lanceCodageFichier];<br />    <br />    NSLog(@&quot;ok budget enregistrer&quot;);<br />    [self updateChangeCount:NSChangeCleared];                                                                               // enregistrer<br />    return YES;<br />}<br />
    


    L'object fichierBudgetPrincipal permet le codage et l'enregistrement du fichier.

    Voici le lien pour télécharger la dernière version [url=http://aranaud.farge.free.fr/gestionBudgetMaison/telechargement/gestion budget maison 0.6.0 beta 2.dmg]gestion budget maison 0.6.0 beta 2.dmg[/url]
  • Eddy58Eddy58 Membre
    15:19 modifié #4
    Ce genre de bug n'est généralement pas facile à  localiser, le mieux je pense dans un premier temps est d'essayer de localiser le code et les objets fautifs, en mettant en commentaire certaines parties du code. Tu peux déjà  laisser le [tt]return YES;[/tt] seul, voir ce que cela fait, et ensuite décommenter peu à  peu tes différents appels et voir à  partir de quel moment le problème apparait. Mais il est aussi probable que le problème soit antérieur à  l'exécution de la méthode writeToURL:ofType:error, tout en restant en rapport avec elle et les différentes méthodes et objets utilisés dans celle-ci. :o
  • aranaudaranaud Membre
    15:19 modifié #5
    Merci de ta réponse. Et je vois qui n'y a pas de méthode miracle. Il ne me reste plus qu'a traqué ce bug.
  • aranaudaranaud Membre
    15:19 modifié #6
    J'ai résolu mon problème et tu avais raison. C'est une autre méthode qui blocait l'application à  la fermeture.  ;D
Connectez-vous ou Inscrivez-vous pour répondre.