2011-12-08 17 views
8
benim kaynak klasöründe klasör yapısını yapıyorum

gibi ... Kaynak => MyData => ardından S1 => Name.png içinde, data.pptiPhone'daki kaynak klasöründeki klasörler ve dosyalar nasıl bulunur?

Şimdi bütün klasör listesini ve dosya adları almak istiyorum S1 . Burada MyData adı sadece değişebilir diğer statik olabilir.Yanırım S1, S2, S3 ve dosya sayısı bu ekleyebilirim. Peki bu içerikleri Objektif C ile nasıl okuyacağım? Kodun altında denedim. Böyle Resources dizinin yolunu alabilirsiniz

cevap

12

NSString *bundlePathName = [[NSBundle mainBundle] bundlePath]; 
    NSString *dataPathName = [bundlePathName stringByAppendingPathComponent:@"Resources"]; 
    NSFileManager *fileManager = [NSFileManager defaultManager]; 
    if ([fileManager fileExistsAtPath:dataPathName]) { 
     NSLog(@"%@ exists", dataPathName); 
     BOOL isDir = NO; 
     [fileManager fileExistsAtPath:dataPathName isDirectory:(&isDir)]; 
     if (isDir == YES) { 
      NSLog(@"%@ is a directory", dataPathName); 
      NSArray *contents; 
      contents = [fileManager contentsOfDirectoryAtPath:dataPathName error:nil]; 
      for (NSString *entity in contents) { 
       NSLog(@"%@ is within", entity); 
      } 
     } else { 
      NSLog(@"%@ is not a directory", dataPathName); 
     } 
    } else { 
     NSLog(@"%@ does not exist", dataPathName); 
    } 

sayesinde,

NSString * resourcePath = [[NSBundle mainBundle] resourcePath]; 

Sonra yoluna Documents eklemek, sonra
NSString * documentsPath = [resourcePath stringByAppendingPathComponent:@"Documents"]; 

yapabilirsiniz'nin dizin listeleme API'larından herhangi birini kullanın.

NSError * error; 
NSArray * directoryContents = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:documentsPath error:&error]; 
İlgili konular