我正在尝试为用户的应用程序支持文件夹获取 NSString。
我知道我可以做到 NSString *path = @"~/Library/Application Support";
但这似乎不太优雅。我已经尝试过使用 NSSearchPathForDirectoriesInDomains
但它似乎很冗长并且创建了几个不必要的对象(至少,我的实现确实如此)。
有没有简单的方法来做到这一点?
最佳答案
这已经过时了,对于当前的最佳实践,使用 FileManager.default.urls(for:in:)
正如 @andyvn22 的评论下面。
最佳做法是将 NSSearchPathForDirectoriesInDomains
与 NSApplicationSupportDirectory
一起使用,尽可能“啰嗦”。
例子:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSApplicationSupportDirectory, NSUserDomainMask, YES);
NSString *applicationSupportDirectory = [paths firstObject];
NSLog(@"applicationSupportDirectory: '%@'", applicationSupportDirectory);
NSLog 输出:
applicationSupportDirectory: '/Volumes/User/me/Library/Application Support'
https://stackoverflow.com/questions/8430777/