2011-09-07 13 views
8

Sto cercando di ottenere una matrice di tutti i file png in una sottodirectory della cartella delle risorse. Nelle mie app Risorse Folder Ho creato una cartella denominata "images". Questa cartella contiene tutti i file png che devo visualizzare.Ottieni percorso nella sottodirectory nella cartella delle risorse

Questo è il modo in cui ho cercato di ottenere il percorso:

NSString *imagepath = [NSString stringWithFormat:@"%@/%@",[[NSBundle mainBundle] bundlePath],@"images/"]; 

NSLog(@"Path to Images: %@", imagepath); 

NSArray * paths = [NSBundle pathsForResourcesOfType: @"png" inDirectory:imagepath]; 
NSMutableArray * allImageNames = [[NSMutableArray alloc] init]; 

for (NSString * path in paths) 
{ 
    if ([[path lastPathComponent] hasPrefix: @"AQ"]) 
     continue; 

    [allImageNames addObject: [path lastPathComponent]]; 
} 

In questo modo ottengo un percorso come .../appname.app/immagini

Ma se provo a fare in questo modo, la matrice è sempre vuota. Cosa sto sbagliando?

greetz, Zarak

+0

Quali sono i nomi delle immagini? Sono come 'image.AQ'? – Nekto

+0

I nomi delle immagini sono come "banana_icon.png". Ma io uso AQGridView per creare una galleria di tutti i file. – DevZarak

+0

Allora perché controlli '[[percorso lastPathComponent] haPrefix: @" AQ "]'? – Nekto

risposta

26

Basta risolto.

NSBundle *mainBundle = [NSBundle mainBundle]; 
NSArray *pngs = [mainBundle pathsForResourcesOfType:@".png" 
inDirectory:@"random pictures"]; 

NSLog(@"pngs in my dir:%@", pngs); 

struttura dir: "Risorse/immagini casuali".

Questo funziona, MA, quando si aggiungono i file a "Risorse", è necessario selezionare "Crea riferimenti cartella per qualsiasi cartella adata" e NON "Crea gruppi per eventuali cartelle aggiunte".

important step

Cheers!

+1

Risolto il problema utilizzando un'altra soluzione, ma terrò questo a mente e fare un tentativo in un altro progetto. Per farla breve, ottieni l'accettazione. ;) Thx per la tua risposta. – DevZarak

+0

Non ha funzionato per me, ho una cartella In-Work con file pdf, sto cercando di accedere ai file usando: NSString * inWorkPath = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent: @ "In-Work"]; NSArray * resContents = [[NSFileManager defaultManager] contentsOfDirectoryAtPath: inWorkPath error: & error]; e resContents return nil –

+0

hai selezionato "Crea riferimenti cartella" quando aggiungi la cartella al progetto? @EshwarChaitanya – codrut

Problemi correlati