Как получить URL-адрес для каталога документов приложения iPhone
Этот код является частью Core Data. Метод URLsForDirectory.... не запускается на iOS < 4, поэтому мне нужно знать некоторые другие методы/объекты для вызова. Я также буду использовать документацию для дальнейшего использования. Спасибо вам
/**
Returns the URL to the application Documents directory.
*/
- (NSURL *)applicationDocumentsDirectory
{
return [[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] lastObject];
}
Ответы
Ответ 1
Вы можете получить путь к документу через NSSearchPathForDirectoriesInDomains
функцию основания следующим образом:
NSArray *searchPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentPath = [searchPaths objectAtIndex:0];
Это будет работать на iOS 2 +.
Ответ 2
Альтернативным решением будет использование метода -[NSFileManager URLsForDirectory:inDomains:]
и выбор пути из возвращаемого NSArray:
Objective-C:
NSArray *paths = [[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask];
NSURL *documentsURL = [paths lastObject];
Swift:
let paths = NSFileManager.defaultManager().URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask)
let documentsURL = paths[0] as! NSURL
Это поддерживается в iOS 4.0 +
Ответ 3
Swift 3
let documentsUrl = FileManager.default.urls(for: .documentDirectory, in:.userDomainMask).first!
Ответ 4
Вот версия Swift 2.2:
let paths = NSFileManager.defaultManager().URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask)
let filePath = paths[0].URLByAppendingPathComponent("filename")