2011-10-23 30 views
12

he utilizado los códigos a continuación para comprobar si existe un archivoverificación si existe un archivo de Objective-C

bool b=[[NSFileManager defaultManager] fileExistsAtPath:filePath]; 

Los códigos trabajaron en IOS.

Pero al migrar a Mac OS X,

Pero encontré si existe el archivo en el disco con rutaArchivo, b siempre devuelve 0, lo que significa que el archivo no existe.

Me pregunto si hay diferencia entre ios y MacOSX

la bienvenida a cualquier comentario

Respuesta

5

a partir de documentos, creo que está utilizando camino con tilde

http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSFileManager_Class/Reference/Reference.html#//apple_ref/occ/instm/NSFileManager/fileExistsAtPath:isDirectory:

ruta

La ruta de un archivo o directorio. Si la ruta comienza con una tilde (~), primero debe expandirse con stringByExpandingTildeInPath, o este método devolverá NO.

tilde hace ruta relativa al directorio de inicio (como /Users/username/)

puede averiguar llamando NSLog(@"%@",filePath); si rutaArchivo es de tipo NSString

+2

rutaArchivo es de NSOpenPanel, – monsabre

+7

@monsabre No deberías t acepta una respuesta que no responde a su pregunta, y no debe publicar otra pregunta solo porque no obtuvo la respuesta que esperaba. Al aceptar una respuesta, básicamente le está diciendo a la comunidad que su problema se ha resuelto. En este caso, claramente no fue así. –

Cuestiones relacionadas