如何使用Objective-C获取Mac OS X用户文件夹的位置

5

如何使用Objective-C在Mac OS中获取文件位置?

/Users/objc/Downloads/x.pdf

是否有相关的Foundation类可用?

请提供一些示例代码。

1个回答

6

不确定我是否理解您的需求,但是可以使用以下方式获取用户的主目录:

NSArray *docDirs = NSSearchPathForDirectoriesInDomains(
                    NSDownloadsDirectory,
                    NSUserDomainMask, YES);
NSString *doc = [docDirs objectAtIndex:0];

然后您可以构建路径:

NSString *path = [NSString stringWithFormat:@"%@/x.pdf", doc];

4
更清晰的方法是使用stringByAppendingPathComponent:。NSString *path = [doc stringByAppendingPathComponent:@"x.pdf"];,这样会自动插入目录分隔符。 - Björn Marschollek
1
另外,您需要使用NSDownloadsDirectory而不是NSDocumentationDirectory。(请注意,NSDocumentationDirectory通常是〜/Library/Documentation,与NSDocumentDirectory不同,后者是〜/Documents。) - mipadi
@mipadi:感谢您发现我关于“NSDocumentationDirectory”的错误(复制并粘贴错误)。我已编辑我的回答。 - DarkDust

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接