Domanda

Sto cercando di contare interi file in una directory, comprese le sottodirectory. Questo è ciò che ho da contare file nella prima cartella:

-(NSString *)numberOfPhotos
{
    NSString *MyPath = @"/rootdirectory/"; 
    NSArray *directoryContent = [[NSFileManager defaultManager] directoryContentsAtPath:MyPath]; 

    return [NSString stringWithFormat:@"%d", [directoryContent count]];
}

Stavo pensando che forse qualcosa di simile

for (file in folder){
    [file count]
{

, ma pretende molto sembra funzionare.

UPDATE: In realtà, era molto semplice:

NSDirectoryEnumerator *subs = [[NSFileManager defaultManager] subpathsOfDirectoryAtPath:musicPath error:nil];
È stato utile?

Soluzione

NSDirectoryEnumerator *subs = [[NSFileManager defaultManager] subpathsOfDirectoryAtPath:musicPath error:nil];

Altri suggerimenti

Sei sulla strada giusta. Avete bisogno di un metodo ricorsivo. Si passa in una directory, il metodo prende tutti i file nella directory, quindi controlla ogni uno per vedere se si tratta di una directory o meno. Qui si avrebbe un ciclo for per verificare se l'oggetto corrente è una directory. Se si tratta di una directory, allora non sarebbe in chiamata con il nome della directory. In caso contrario, incrementa un contatore di uno e continua.

Codice non possono inserire in questo momento, ma questo è il modo in cui lo faresti.

vedere se riesco a scrivere codice utilizzando la tastiera iPad ... Utilizzando pseudo codice per descrivere l'algoritmo ricorsivo:

int fileCount(directory)
{
    int count = 0;
    for (file in directory)
    {
        if (isDirectory(file))
            count += fileCount(file);
        else
            count++;
    }
    return count;
}                
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top