如何获取应用程序文档目录iPhone的URL

时间:2011-04-09 21:37:19

标签: iphone

此代码是Core Data的一部分。 URLForDirectory ....方法不能在iOS< 4所以我需要知道一些其他方法/对象来调用。我还会提供文档以供将来参考。谢谢

/**
 Returns the URL to the application's Documents directory.
*/
- (NSURL *)applicationDocumentsDirectory
{
    return [[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] lastObject];
}

4 个答案:

答案 0 :(得分:46)

另一种解决方案是使用-[NSFileManager URLsForDirectory:inDomains:]方法并从返回的NSArray中获取路径:

目标-C:

NSArray *paths = [[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask];
NSURL *documentsURL = [paths lastObject];

夫特:

let paths = NSFileManager.defaultManager().URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask)
let documentsURL = paths[0] as! NSURL

iOS 4.0 +

支持此功能

答案 1 :(得分:41)

您可以通过NSSearchPathForDirectoriesInDomains foundation function获取文档路径,如下所示:

NSArray *searchPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentPath = [searchPaths objectAtIndex:0];

这适用于iOS 2 +。

答案 2 :(得分:15)

Swift 3

let documentsUrl = FileManager.default.urls(for: .documentDirectory, in:.userDomainMask).first!

答案 3 :(得分:6)

这是Swift 2.2版本:

let paths = NSFileManager.defaultManager().URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask)
let filePath = paths[0].URLByAppendingPathComponent("filename")