Vra

Wat ek wil doen lyk eenvoudig genoeg: Kry 'n verskeidenheid van lêername in 'n gegewe "directory" op my app. Maar hoe meer ek speel rond met NSFileManager en NSBundle Ek vind myself om meer verlore ... Ek wil net die lêername van die georganiseerde in 'n spesifieke gids in my iPhone Xcode projek lêers te kry ... Byvoorbeeld: Die gids in die vraag is genaamd "Images" (geskep met behulp van "Voeg> New Group" onder die ikoon projek in Xcode) en bevat 10 png beelde. Dit lyk eenvoudig, maar ek kry nêrens. Ek wil 'n paar help met die vind van die antwoord waardeer.

Q: Hoe kry ek 'n NSArray van lêername van al die lêers in 'n gegewe gids in my jeug

Was dit nuttig?

Oplossing

As jy wil die gids om deel van die App bondel wees, moet jy 'n gids verwysing binne die groep Resources skep, in plaas van 'n groep (dit sal vertoon in Xcode as 'n blou gids in teenstelling met die geel een) .

Om dit te doen, sleep jy die gids van Finder en kies verwysing gids wanneer dit gevra word.

As jy dit, moet jy in staat wees om die inhoud van die gids kry met iets soos:

NSError *error = nil;

NSString *yourFolderPath = [[[NSBundle mainBundle] resourcePath]
                            stringByAppendingPathComponent:@"YourFolder"];

NSArray  *yourFolderContents = [[NSFileManager defaultManager] 
                                contentsOfDirectoryAtPath:yourFolderPath error:&error];

Ander wenke

Die aanvaarde antwoord is al afgekeur vir jare nou. Die volgende moet in plaas gebruik word.

- (NSArray *)contentsOfDirectoryAtPath:(NSString *)path error:(NSError **)error

Update: @macserv opgedateer die aanvaarde antwoord nadat ek hierdie gepos.

Deesdae, dit is hoe jy dit doen:

  1. Van die Finder, drag & drop jou gids in navigator jou projek en die volgende pop-up sal opdaag: betree beeld beskrywing hier
  2. Soos jy kan sien in dat kiekie, wat jy hoef te Skep gids verwysings kies .
  3. Doen wat die oplossing vir hierdie pos is vir jou vertel om te doen. Ek bedoel:

    NSError * fout = nul;

    NSString * yourFolderPath = [[[NSBundle mainBundle] resourcePath]                             stringByAppendingPathComponent: @ "YourFolder"]

    NSArray * yourFolderContents = [[NSFileManager defaultManager]                                 contentsOfDirectoryAtPath: yourFolderPath fout: & fout]

Gelisensieer onder: CC-BY-SA met toeskrywing
Nie verbonde aan StackOverflow
scroll top