我试过了:
path = @"~/Desktop/files/text.plist";
NSDictionary *aDict = [NSDictionary dictionaryWithContentsOfFile:path];
ResultPath:〜/ Desktop / files / text.plist
path = @"$(HOME)/Desktop/files/text.plist";
NSDictionary *aDict = [NSDictionary dictionaryWithContentsOfFile:path];
ResultPath:$(HOME)/Desktop/files/text.plist
path = [NSHomeDirectory() stringByAppendingString:@"/Desktop/files/text.plist"];
NSDictionary *aDict = [NSDictionary dictionaryWithContentsOfFile:path];
ResultPath:/ Users / my_name / Library / Application Support / iPhone Simulator / 5.1 / Applications / 639DC66A-7092-4ECB-9E48-59935AC1C394 / Desktop / files / text.plist
编辑:关于第二个问题的进一步解释: 就像MAC控制台中有环境变量(或宏)一样,这些也可以在代码中使用吗?如果可以使用它们,任何人都可以帮助一个例子吗? 比如$ HOME_DIRECTORY或类似的东西。
答案 0 :(得分:22)
您可以在搜索路径中指定桌面:
NSArray * paths = NSSearchPathForDirectoriesInDomains (NSDesktopDirectory, NSUserDomainMask, YES);
NSString * desktopPath = [paths objectAtIndex:0];
这样做的好处是它不会假设用户如何配置他的Mac,如果他的桌面文件夹不在默认位置,这仍然会找到正确的位置。
答案 1 :(得分:2)
这应该有效:
NSString *pathToDesktop = [NSString stringWithFormat:@"/Users/%@/Desktop/text.txt", NSUserName()];
答案 2 :(得分:1)
我使用此语句,它假定Desktop文件夹位于通常的位置。
[NSURL fileURLWithPath:[NSHomeDirectory()stringByAppendingPathComponent:@"Desktop"];
答案 3 :(得分:-2)
这应该针对您的#1问题:
NSArray* paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString* documentsDirectoryPath = [paths objectAtIndex:0];
你能进一步解释你的第二个问题吗? :)