J'ai une fonction qui rassemble tous les fichiers .jpg dans le répertoire de documents et tous les dossiers de celui-ci. La fonction met ensuite les chemins de fichiers des .jpgs dans un tableau. Ce que je dois faire, c'est filtrer un fichier defaulageImage.jpg de la matrice. Le problème que j'ai est que les éléments du tableau sont des chemins vers les images JPG afin qu'ils ne soient pas des cordes. Comment filtrer les variables "TheArray" ou "Fichiers" ou "TheImagePaths" pour supprimer le défaillanceImage.jpg? J'ai essayé d'obtenir l'index defaultImage.jpg mais à nouveau car les variables contiennent des chemins vers les fichiers image qui ne semblent pas fonctionner.
J'ai essayé - thearray.removeall (où: {$ 0 == "defaultImage.jpg"}) Mais je ne pouvais pas l'obtenir pour supprimer le fichier image. P>
static func buildPresentationArray() -> [String]
{
let theDirectoryPath = ModelData.getDocumentsDirectory()
let fm = FileManager.default
var theArray = [String]()
theArray.removeAll()
let files = fm.enumerator(at: theDirectoryPath, includingPropertiesForKeys: nil, options: [.skipsHiddenFiles])
let theImagePaths = files!.filter{ ($0 as AnyObject).pathExtension == "jpg"}
for theImagePath in theImagePaths
{
theArray.append((theImagePath as AnyObject).path)
}
return theArray
}
3 Réponses :
à partir de l'URL code> Obtenez le dernier composant et comparez-le par défautImage.jpg
Essayez ceci:
theArray.removeAll { (image: String) -> Bool in
return image.contains("defaultImage.jpg")
}
Vous pouvez utiliser une combinaison de filtre (_:) code> strong> et contient (_ :) em> em> pour obtenir qui fonctionne, c'est-à-dire