我有简单的代码:

NSFileManager *fileManager = [NSFileManager defaultManager];

if (!fileManager) NSLog(@"Manager doesn't exist!");

if(![fileManager fileExistsAtPath:destString]) {
    if (![fileManager createDirectoryAtPath:destString withIntermediateDirectories:YES attributes:nil error:&error]){
        NSLog(@"%@", [error localizedFailureReason]);
    }
}
else NSLog(@"Exists!");


vars:

destString = file://localhost/Users/SOMEUSER/Desktop/NEWFOLDER/


当我尝试创建文件夹时,程序会写“ Exists”,但在桌面上不存在。当我删除fileExistsAtPath时:那没有错误,但是也没有目录。 Thx 4回复!

最佳答案

-createDirectoryAtPath:withIntermediateDirectories:attributes:error:将创建的路径作为UNIX样式的路径字符串而不是文件URL样式的字符串。也就是说,您要向其传递类似/Users/SOMEUSER/Desktop/NEWFOLDER/的字符串。

另外,如果要处理URL样式的字符串,则可以改用-createDirectoryAtURL:withIntermediateDirectories:attributes:error:并从字符串构造NSURL

10-08 08:27