#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];
Есть другой способ сделать это для тех, у кого другие настройки.