2009-08-27 48 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? – 2009-08-27 00:25:48

+0

是的,其实这是... – Mathieu 2009-08-27 16:55:11

回答

11

文件路径标记未定义 - 您#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");