对于我的程序,我需要在OS X上在桌面上创建一个目录(最终我会改变它,但现在更容易在那里做)。 从我读过的例子来看,这应该有效,但事实并非如此。 我没有从Xcode得到任何错误,也没有我的程序使用最底层的替代尝试得到任何错误。 它也不会在我的桌面上创建一个名为ProjAlleleData的目录。
NSString *dirName1 = @"~'Desktop/ProjAlleleData";
NSFileManager *fm;
fm = [NSFileManager defaultManager];
numb1 = 1;
//Makes sure directory exists and has correct permissions.
while ( numb1 == 1) {
if ([fm fileExistsAtPath: dirName1] == YES) {
if ([fm isWritableFileAtPath: dirName1] == YES) {
if ([fm isReadableFileAtPath: dirName1] == YES) {
numb1 = 0;
}
else {
NSLog(@"Permissions error.");
return 1;}
}
else {
NSLog(@"Permissions error.");
return 1;}
}
else {
//create directory
[fm createDirectoryAtPath: dirName1 withIntermediateDirectories: YES attributes: nil error: NULL];
}
}
或者(最好是在需要时更容易调试),在// create directory:
下面 if ([fm createDirectoryAtPath: dirName1 withIntermediateDirectories: YES attributes: nil error: NULL] != YES) {
NSLog(@"Save File Creation Error. (dir1)");
return 1;
答案 0 :(得分:0)
第一行中有两个错误。 第一次改变
NSString *dirName1 = @"~'Desktop/ProjAlleleData";
到
NSString *dirName1 = @"~/Desktop/ProjAlleleData";
然后你必须扩展~
:
NSString *dirName1 = [@"~/Desktop/ProjAlleleData" stringByExpandingTildeInPath];
那应该给你一个像/Users/yourname/Desktop/ProjAlleleData