2009-08-27 4 views
2

Что в этом плохого?создать каталог в 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 не будет определен. Возможно, вы имели в виду AUDIO_NOTES_FOLDER? –

+0

yep на самом деле это было то, что ... – Mathieu

ответ

11

Маркер FILEPATH неопределен - вы #define AUDIO_NOTES_FOLDER в начале файла, а затем использовать FILEPATH вместо этого в вашем коде.

Также отметим, что NSHomeDirectory() не обязательно рекомендуемый способ найти каталог документов больше - вместо того, чтобы вы, вероятно, хотите:

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

createDirectoryAtPath:attributes: устарела, вместо этого вы должны использовать:

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"); 
Смежные вопросы