Estoy trabajando en una aplicación para iPhones con jailbreak. Intento obtener solo los directorios de una carpeta. entonces estoy haciendo esto:iPhone: NSFilemanager fileExistsAtPath: isDirectory: ¿no funciona correctamente?
NSArray *contentOfFolder = [[NSFileManager defaultManager] directoryContentsAtPath:path];
NSLog(@"contentOfFolder: %@", contentOfFolder);
directoriesOfFolder = [[NSMutableArray alloc] initWithCapacity:100];
for (NSString *aPath in contentOfFolder) {
NSLog(@"apath: %@", aPath);
BOOL isDir;
if ([[NSFileManager defaultManager] fileExistsAtPath:aPath isDirectory:&isDir] &&isDir)
{
[directoriesOfFolder addObject:aPath];
NSLog(@"directoriesOfFolder %@", directoriesOfFolder);
}
}
NSLog(@"dirctories %@", directoriesOfFolder);
pero mira lo que obtengo. cuando obtengo el contenido de la carpeta, todo se ve bien:
2009-07-28 23: 23: 35.930 Drowser [573: 207] new path/private/var 2009-07-28 23: 23: 35.945 Drowser [573: 207] contentOfFolder: ( llaveros, "Preferencias gestionados", mobileDevice, copias de seguridad, caché, db, ea, vacío, carpetas, lib, locales, bloqueo, registro, registros, móvil, msgs, preferencias, raíz, de ejecución, carrete, escondite, tmp, vm )
pero entonces:
2009-07-28 23: 23: 35.950 Drowser [573: 207] Apath : Llaveros 2009-07-28 23: 23: 35.954 Drowser [573: 207] apath: Preferencias administradas 2009-07-28 23: 23: 35.959 Drowser [573: 207] apath: Dispositivo móvil 2009-07-28 23 : 23: 35.984 Drowser [573: 207] apath: copias de seguridad 2009-07-28 23: 23: 35.993 Drowser [573: 207] apath: cache 2009-07-28 23: 23: 36.002 Drowser [573: 207] apath: db 2009-07-28 23: 23: 36.011 Drowser [573: 207] apath: ea 2009-07-28 23:23: 36.019 Drowser [573: 207] apath: empty 2009-07-28 23: 23: 36.028 Drowser [573: 207] apath: folders 2009-07-28 23: 23: 36.037 Drowser [573: 207] apath: lib 2009-07-28 23: 23: 36.046 Drowser [573: 207] directoriesOfFolder ( lib )
única "lib"! es reconocido como carpeta. ¿como puede ser? los otros son carpetas también. Lo confirmé a través de SSH.
¿alguien tiene una idea? ¿Estoy haciendo algo mal?
Estoy seguro de que sólo estoy exponiendo mi ignorancia sobre la sintaxis de puntero aquí, pero no te quiero un espacio entre ' && 'y' isDir'? –
@Yar: Por lo general pongo una, pero me tocó este y lo dejé. Sin embargo, no creo que sea sintácticamente necesario. –
Entendido, solo comprobando que no me falta algo. Gracias. –