¿Cómo podemos conseguir todos los nombres de archivo que comienzan con un prefijo de carpeta de recursos ..Obtener todos los nombres de archivo que comienzan con un prefijo de la carpeta de recursos
Respuesta
Usted puede lograr que la adaptación de la siguiente código:
NSArray *files = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:
[[NSBundle mainBundle] bundlePath] error:nil];
NSArray *pngs = [files filteredArrayUsingPredicate:
[NSPredicate predicateWithFormat:@"self ENDSWITH[cd] '.png'"]];
NSLog(@"%@", pngs);
Al ejecutar este código, verá la lista de PNG en su paquete. Cambiar el predicado para que coincida con el prefijo que desea:
NSArray *files = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:
[[NSBundle mainBundle] bundlePath] error:nil];
NSArray *filesWithSelectedPrefix = [files filteredArrayUsingPredicate:
[NSPredicate predicateWithFormat:@"self BEGINSWITH[cd] 'prefix'"]];
NSLog(@"%@", filesWithSelectedPrefix);
Actualización de Swift 4.0:
En mi caso, yo estaba buscando archivos que comenzaron con fileName-1.png
donde podría haber otros archivos con la fileName
prefijo.
1) Pensé en usar expresiones regulares, pero dividir la cadena era más rápido y más fácil, así que fui por esa ruta para obtener el prefijo.
let myKnownFileNameString = "fileName-1.png"
let filePrefix = myKnownFileNameString.split(separator: "-").first
2) Crear una matriz vacía para almacenar las imágenes que encuentre:
var imageArray: [UIImage] = []
3) A continuación, obtener las direcciones URL desde el haz, filter
ellos y map
las direcciones URL a UIImage
casos:
if let filePrefix = filePrefix, let fileURLs = Bundle.main.urls(forResourcesWithExtension: "png", subdirectory: nil) {
imageArray = fileURLs.filter{ $0.lastPathComponent.range(of: "^\(filePrefix)", options: [.regularExpression, .caseInsensitive, .diacriticInsensitive]) != nil }
.map{ UIImage(contentsOfFile: $0.path)! }
}
A partir de ahí, tienes una serie de imágenes con las que puedes hacer cosas (animarlas en un UIImageView
, etc.)
Existen formas más adecuadas y * rápidas, por ejemplo, obtienes todas las URL con extensión dada con 'Bundle.main.urls (forResourcesWithExtension:" png ", subdirectory: nil)' y en lugar de 'NSPredicate' use' .filter { $ 0.range (de: "^ \ (filePrefix)", opciones: [.regularExpression, .caseInsensitive, .diacriticInsensitive])! = Nil} ' – vadian
¡Gracias! Vi que la respuesta existente a mi pregunta era algo crujiente, así que arrojé algo juntos. Lo actualizaré según su sugerencia. – Adrian
He editado tu respuesta con otra mejora * swifty *. – vadian
- 1. Lista de todos los recursos incrustados en una carpeta
- 2. Cómo obtener todos los atributos HTML que comienzan con algo (los nombres de los atributos, * no * sus valores!)
- 3. ¿Qué significan los nombres de las variables que comienzan con _?
- 4. SharpSVN leyó TODOS los nombres de archivo
- 5. scp todos los archivos que comienzan con 'archivo' desde un servidor
- 6. PHP: obtener todos los nombres de los métodos de un objeto con el nombre "bla_"
- 7. Cómo solucionar los archivos/carpetas de autoomitting que comienzan con "_" (subrayado) en la carpeta de activos
- 8. Cómo puedo obtener gcc para agregar un prefijo a todos los nombres de símbolos
- 9. Obtener nombres de todos los archivos de una carpeta con Ruby
- 10. ¿Por qué Path.Combine no concatena correctamente los nombres de archivo que comienzan con Path.DirectorySeparatorChar?
- 11. ¿Por qué los nombres de archivo en la carpeta dibujable no contienen caracteres especiales o comienzan con una letra mayúscula?
- 12. Obtener todos los nombres de archivos en un nombre de carpeta dado
- 13. Borrar todos mis NSUserDefaults que comienzan con una determinada palabra
- 14. Obtener todos los nombres de archivo en un directorio con el rubí
- 15. ¿Cómo obtengo la lista de todos los nombres de archivo en un directorio usando VB6?
- 16. C# cómo puedo obtener todos los nombres de los elementos de un archivo XML
- 17. iPhone SDK Xcode - Cómo obtener todos los nombres de archivo en los documentos dir
- 18. ¿Cómo anteponer todos los nombres de archivo en la lista con una ruta común?
- 19. Coloque los archivos de recursos de Visual Studio en una carpeta que no sea 'Recursos'?
- 20. Powershell Obtener carpeta principal de un archivo
- 21. C#: Obtener todos los archivos de imagen en la carpeta
- 22. fiesta de nombre de archivo de englobamiento - operar en los archivos que comienzan con el capital
- 23. Encontrar todos los recursos de CLASSPATH que coincidan con un patrón
- 24. Leyendo un archivo desde la carpeta de recursos
- 25. Lista de recursos en una carpeta de archivo jar?
- 26. Obtener ruta al subdirectorio en la carpeta de recursos
- 27. El uso de nombres de propiedades que comienzan con un guión bajo ("_")
- 28. Regex - Encuentra todas las palabras que coinciden que no comienzan con un prefijo específico
- 29. ¿Cómo obtener los nombres de los archivos?
- 30. bucle a través de todos los identificadores que comienzan con XXX
funcionó bien .. sry para la respuesta tardía ... – xydev
@vfn me ahorras mi tiempo gracias. –