Lista di specifici tipi di file (png, xml, ecc) di una cartella

iPad, iPhone, MacOSX, Object-C Soft! Commenta l'articolo

Immaginiamo di volere la lista di file PNG in una determinata cartella:

NSString *bundlePath = [[NSBundle mainBundle] bundlePath];
 
NSFileManager *fileManager = [NSFileManager defaultManager];
NSArray *bundleDirectory = [fileManager contentsOfDirectoryAtPath:bundlePath error:nil];
 
NSPredicate *filter = [NSPredicate predicateWithFormat:@"self ENDSWITH '.png'"];
NSArray *pngFiles = [bundleDirectory filteredArrayUsingPredicate:filter];
 
NSLog(@"PNG files: %@", pngFiles);


il risultato sarà:

PNG files: (
“logo.png”,
“photo.png”,
“test.png”,
“testImage.png”
)

Questo è un altro esempio che usa la cartella Documents:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
 
if ([paths count] > 0)
{
  NSFileManager *fileManager = [NSFileManager defaultManager];
  NSArray *directoryContents = [fileManager contentsOfDirectoryAtPath:[paths objectAtIndex:0] error:nil];
 
  if ([directoryContents count] > 0)
  {
    NSPredicate *filter = [NSPredicate predicateWithFormat:@"self ENDSWITH '.png'"];
    NSArray *pngFiles = [directoryContents filteredArrayUsingPredicate:filter];
 
    NSLog(@"PNG files: %@", pngFiles);
  }
}

Si possono cambiare path e filtri a piacimento.
Buon lavoro

Scrivi un Commento

Home | Graffiti e Disegni | Educazione | Chi siamo | Blog | Progetti | Contatti
RSS Feed Comments RSS Accedi