2010-09-09 6 views
1

J'ai stocké les données dans le plist (répertoire de documents) et récupéré les données de la plist et affiché dans la vue de la table. Maintenant je veux enlever le plist, quand j'ai fermé mon application. Comment puis je faire ça?. J'ai enlevé le plist dans mon contrôleur. Mais comment puis-je retirer le plist après avoir fermé mon application.Comment supprimer plist dans le répertoire de documents lors de la fermeture de l'application dans l'iPhone?

Pour exemple:

FirstViewController.m:

 -(NSString *) saveFilePath::(NSString *)tagString 
     { 
      NSArray *arr = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 

      NSString *strPath = [[arr objectAtIndex:0] stringByAppendingPathComponent:tagString]; 

      return strPath; 
     } 

Si je veux supprimer le plist dans mon contrôleur, je l'ai utilisé ce code,

 [[NSFileManager defaultManager] removeItemAtPath:[self saveFilePath:tagString] error:NULL]; (Where do i put this code into my delegate method?) 

Mais je veux enlever le plist, quand ma demande est fermée. Parce que je n'avais l'habitude de travailler dans mon contrôleur que temporairement. Donc je veux l'enlever? Est-il possible d'enlever plist quand j'ai fermé mes applications?

S'il vous plaît me guider!

Merci.

Répondre

1

Placez votre code dans la méthode applicationWillTerminate à l'intérieur de la classe Appdelegate.

- (void)applicationWillTerminate:(UIApplication *)application { 
      [[NSFileManager defaultManager] removeItemAtPath:[self saveFilePath:tagString] error:NULL];> 
} 

Aussi, applicationWillTerminate ne sera pas fait appel à des dispositifs supportant le multi-tâches. Vous devez donc ajouter la clé UIApplicationExitsOnSuspend sur votre info.plist. Plus d'informations sur ce

http://iosdevelopertips.com/multitasking/how-to-prevent-your-application-from-being-placed-into-the-background.html

+0

Merci pour votre réponse. – Pugal

1

En plus de ce que dit Anil, pensez à utiliser NSCachesDirectory au lieu de NSDocumentDirectory. Le contenu de NSDocumentDirectory est sauvegardé lorsque l'utilisateur synchronise son téléphone. NSCachesDirectory est destiné à être utilisé pour des fichiers temporaires comme le vôtre, il n'est donc pas sauvegardé lorsque l'utilisateur se synchronise.

+0

+1, Merci beaucoup. Maintenant, j'ai utilisé NSCachesDirectory (au lieu de NSDocumentDirectory) dans mes applications. Ça fonctionne bien. – Pugal

Questions connexes