Как получить все пути для файлов в каталоге документов? - PullRequest
12 голосов
/ 16 сентября 2011

Обычно я получаю пути, используя NSBundle.

Но NSBundle не содержит папку «Документы».

Как получить все пути (или имена) для файлов в каталоге «Документы»

Ответы [ 3 ]

30 голосов
/ 16 сентября 2011

Это даст вам пути для всех файлов в каталоге документов

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

    NSArray *filePathsArray = [[NSFileManager defaultManager] subpathsOfDirectoryAtPath:documentsDirectory  error:nil];

    NSLog(@"files array %@", filePathsArray);

Вы можете получить путь для каждого объекта в filePathsArray, используя приведенный ниже код

NSString *filePath = [documentsDirectory stringByAppendingPathComponent:[filePathsArray objectAtIndex:0]]; 
0 голосов
/ 25 февраля 2017

Вот в быстром.
Оператор печати распечатает все доступные пути

func getDocumentsDirectory() -> URL {
    let paths = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)
print("Paths - \(paths)")
    let documentsDirectory = paths[0]
    return documentsDirectory
}
0 голосов
/ 16 сентября 2011
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];

Чтобы получить файлы из этого, вы должны указать структуру пути ...

    NSString *fileName = @"default.png";
    NSString *folderPath = [documentsDirectory stringByAppendingPathComponent:@"%@", fileName];

folderPath вернет вам местоположение данного имени файла.

...