2009-08-27 6 views
2

Quel est le problème avec cela?créer un répertoire dans l'iPhone

#define AUDIO_NOTES_FOLDER [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/myApp/Pictures"] 

NSFileManager *NSFm= [NSFileManager defaultManager]; 
BOOL isDir=YES; 

if(![NSFm fileExistsAtPath:FILEPATH isDirectory:&isDir]) 
    if(![NSFm createDirectoryAtPath:FILEPATH attributes:nil]) 
     NSLog(@"Error: Create folder failed"); 
+0

FILEPATH ne serait pas défini. Peut-être que vous vouliez dire AUDIO_NOTES_FOLDER? –

+0

Eh oui, en fait, c'était ... – Mathieu

Répondre

11

Le jeton FILEPATH est indéfini - vous #define AUDIO_NOTES_FOLDER au début de votre fichier, puis utilisez FILEPATH à la place dans votre code.

Notez également que NSHomeDirectory() n'est pas nécessairement la méthode recommandée de trouver le répertoire Documents plus - au lieu que vous voulez sans doute:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentsDirectory = [paths objectAtIndex:0];
13

createDirectoryAtPath:attributes: est dépréciée, au lieu, vous devez utiliser:

NSString *dirToCreate = [NSString stringWithFormat:@"%@/newDirectory",[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject]]; 
    NSError *error = nil; 
    BOOL isDir; 
    if(![fm fileExistsAtPath:dirToCreate isDirectory:&isDir]) 
     if(![fm createDirectoryAtPath:dirToCreate withIntermediateDirectories:YES attributes:nil error:&error]) 
      NSLog(@"Error: Create folder failed");