如何获取应用程序的文档目录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")