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

此代码是Core Data的一部分。 URLsForDirectory ….方法不能在iOS <4上运行,所以我需要知道一些其他要调用的方法/对象。 我也将appriciate文件供将来参考。 谢谢

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

您可以通过NSSearchPathForDirectoriesInDomains 基础函数获取文档path,如下所示:

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

这将在iOS 2上运行。

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

Objective-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+中受支持

Swift 3

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

这里是Swift 2.2版本:

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