2010-02-17 16 views

Respuesta

13

contentsOfDirectoryAtPath:error: devuelve NSArray. Simplemente envíe count a la matriz.

+0

gracias por la respuesta rápida, ¡funciona perfectamente! – Sean

3

contentsOfDirectoryAtPath:error: devuelve NSArray de todo en un directorio (Archivos + Carpetas).

Para obtener el número de archivos sólo, puede filtrar la siguiente manera:

NSMutableArray *files = [[NSMutableArray alloc] init]; 
NSArray *itemsInFolder = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:folderpath error:NULL]; 

NSString *itemPath; 
BOOL isDirectory; 
for (NSString *item in itemsInFolder){ 
    itemPath = [NSString stringWithFormat:@"%@/%@", folderpath, item]; 
    [[NSFileManager defaultManager] fileExistsAtPath:item isDirectory:&isDirectory]; 
    if (!isDirectory) { 
     [files addObject:item]; 
    } 
} 

return [files count]; 
0

subpathsOfDirectoryAtPath:error: devuelve una matriz con toda camino de directorio de destino incluyen subdirectorio.

Pero como dice el documento, "es posible que no desee usarlo en el código de rendimiento crítico".

Cuestiones relacionadas