List saved files in iOS documents directory in a UITableView?
Here is the method I use to get the content of a directory.
-(NSArray *)listFileAtPath:(NSString *)path{ //-----> LIST ALL FILES <-----// NSLog(@"LISTING ALL FILES FOUND"); int count; NSArray *directoryContent = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:path error:NULL]; for (count = 0; count < (int)[directoryContent count]; count++) { NSLog(@"File %d: %@", (count + 1), [directoryContent objectAtIndex:count]); } return directoryContent;}
-(NSArray *)findFiles:(NSString *)extension{NSMutableArray *matches = [[NSMutableArray alloc]init];NSFileManager *fManager = [NSFileManager defaultManager];NSString *item;NSArray *contents = [fManager contentsOfDirectoryAtPath:[NSHomeDirectory() stringByAppendingPathComponent:@"Documents"] error:nil];// >>> this section here adds all files with the chosen extension to an arrayfor (item in contents){ if ([[item pathExtension] isEqualToString:extension]) { [matches addObject:item]; }}return matches; }
The example above is pretty self-explanatory. I hope it answers you second question.
To get the contents of a directory
- (NSArray *)ls { NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentsDirectory = [paths objectAtIndex:0]; NSArray *directoryContent = [[NSFileManager defaultManager] directoryContentsAtPath: documentsDirectory]; NSLog(@"%@", documentsDirectory); return directoryContent;}
To get the last path component,
[[path pathComponents] lastObject]