2010-09-05 3 views
0

J'essaie de compresser un fichier dans un sous-dossier dans mon application iphone.NSFileManager dans le dossier de documents

NSArray *path = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
    NSString *dir = [path objectAtIndex:0]; 

      NSString *storeunzipfiles = [dir stringByAppendingPathComponent:@"/MyFolder"]; 
if (![[NSFileManager defaultManager] fileExistsAtPath:storeunzipfiles]) 
    [[NSFileManager defaultManager] createDirectoryAtPath:storeunzipfiles attributes:nil]; //Create folder 

ok maintenant j'ai créé le dossier. Ce que je veux faire est de supprimer tous les fichiers dans le dossier avant de décompresser mon fichier. mais je ne comprends pas.

 NSFileManager *filemgr; 


      filemgr = [NSFileManager defaultManager]; 

      [filemgr removeItemAtPath: @"/MyFolder" handler: nil]; 

    // warning: 'NSFileManager' may not respond to '-removeItemAtPath:handler:' 

     }  

     } 

Enfin, décompressez vers le sous-dossier.

if ([zip UnzipFileTo:storeunzipfiles overWrite:YES]) {... 

ok je suis un msg d'avertissement ...

Quelle est la méthode pour charger les fichiers dans le sous-dossier? est-ce correct?

NSString *docpath = [documentsDirectory stringByAppendingPathComponent:@"/MyFolder/Data.plist"];  ? 

thks à l'avance

Répondre

1

Il n'y a pas de méthode -removeItemAtPath:handler:. Vous voulez plutôt -removeItemAtPath:error:.

0

Non,

Vous pouvez utiliser la méthode

- (NSArray *)contentsOfDirectoryAtPath:(NSString *)path error:(NSError **)error 

cela retourne un objet NSArray qui contient Nom du fichier contient dans le dossier donné. après que vous pouvez enlever facilement. exemple

NSarray *array=[filemanager contentsOfDirectoryAtPath:@"/MyFolder" error:nil]; 
for(int i=0;i<[array count];i++) 
{ 
    [filemanager removeItemAtPath:[@"/MyFolder" stringByAppendingPathComponent:[array objectAtIndex:i]] error:nil]; 
} 

si le dossier est vide

Questions connexes