subir puedo nube mis esta donde descargar como carpeta archivos activar ios objective-c nsfilemanager nsbundle

ios - puedo - donde esta icloud en iphone



Obtenga la ruta del archivo por nombre de archivo desde el directorio de documentos ios (3)

Puedes buscar en el directorio de documentos así:

NSString *searchFilename = @"hello.pdf"; // name of the PDF you are searching for NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentsDirectory = [paths objectAtIndex:0]; NSDirectoryEnumerator *direnum = [[NSFileManager defaultManager] enumeratorAtPath:documentsDirectory]; NSString *documentsSubpath; while (documentsSubpath = [direnum nextObject]) { if (![documentsSubpath.lastPathComponent isEqual:searchFilename]) { continue; } NSLog(@"found %@", documentsSubpath); }

EDITAR:

También puedes usar NSPredicate. Si hay muchos miles de archivos en el directorio de documentos, esto podría fallar con un error de falta de memoria.

NSString *documentsDirectory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject]; NSPredicate *predicate = [NSPredicate predicateWithFormat:@"self.lastPathComponent == %@", searchFilename]; NSArray *matchingPaths = [[[NSFileManager defaultManager] subpathsAtPath:documentsDirectory] filteredArrayUsingPredicate:predicate]; NSLog(@"%@", matchingPaths);

En mi aplicación descargo archivos PDF que se almacenan en el directorio "Documento" en diferentes subcarpetas.

Ahora tengo un nombre de archivo para el que quiero obtener su ruta en el directorio "Documento", pero el problema es que no sé la subcarpeta exacta en la que se almacena ese archivo.

Entonces, ¿hay algún método que me dé la ruta del archivo por el nombre del archivo? Hay un método que funciona para el paquete principal:

(NSString *)pathForResource:(NSString *)name ofType:(NSString *)extension

No quiero recorrer cada carpeta, lo cual es una forma tediosa.

Gracias.


Swift 2.2 bastante simple:

let paths = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true).first! as NSString let plistPath = paths.stringByAppendingPathComponent("someFile.plist")


Tendrás que caminar el árbol para encontrar el archivo; no hay equivalente a -pathForResource: ofType que funciona en el directorio ~ / Documents.