Как я могу получить все имена файлов документов в моей изолированной среде?

#iphone #ios

#iPhone #iOS

Вопрос:

У меня есть следующий код:

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

Однако я понятия не имею, как получить все имена файлов и присвоить их массиву?

Буду признателен за любую помощь.

Ответ №1:

В NSFileManager есть метод с именем contentsOfDirectoryAtPath:error: , который возвращает массив всех файлов в этом каталоге.

Вы можете использовать это следующим образом:

 NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
if([paths count] > 0)
{
    NSString *documentsDirectory = [paths objectAtIndex:0];
    NSError *error = nil;
    NSArray *documentArray = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:documentsDirectory error:amp;error];
    if(error)
    {
        NSLog(@"Could not get list of documents in directory, error = %@",error);
    }
}
  

documentsArray Объект будет содержать список всех файлов в этом каталоге.

Ответ №2:

Используйте contentsOfDirectoryAtPath:error: метод NSFileManager.

Ответ №3:

     NSError *error;
    NSFileManager* fileMgr = [NSFileManager defaultManager];
    NSString *documentsDirectory = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];
    NSArray* documentsArray = [fileMgr contentsOfDirectoryAtPath:documentsDirectory error:amp;error];
    [documentsArray count];
  

Есть другой способ сделать это для тех, у кого другие настройки.