Es gibt keine wirklich einfache Möglichkeit, da die Dateien zur Kompilierzeit in der App platziert werden. Sie können jedoch in den Build-Phasen ein RunScript erstellen, das vor dem Kompilieren ausgeführt wird und eine Textdatei der Bilder erstellt. Dann können Sie diese Textdatei einlesen und ein Array von Bildern auffüllen. Sie können dieses Array verwenden, um die benötigten Details zu erhalten.
RunScript in den Build-Phasen:
#!/bin/sh
>./your_app_folder/fileNames.txt
for FILE in ./your_app_folder/Images.xcassets/actions/*; do
echo $FILE >> ./your_app_folder/fileNames.txt
done
Auch ist hier ein link auf eine akzeptierte Antwort, dass ein früheres Plakat mit mehr Details gefragt.
Eine andere Option, wenn Sie nicht mit Build-Phasen arbeiten wollen, und eine, die ich wahrscheinlich wählen würde, ist die Datei Assets.xcassets nicht zu verwenden. Platzieren Sie die Bilder einfach in einem Ordner in Ihrem App-Bundle. Es ist viel einfacher, aus dem Bündel zu lesen.
UPDATE:
Für die zweite Option, können Sie Ihre Bilder (oder Ordner mit Bildern) zu Ihrem Projekt ziehen, aber sicher Kopie als Ordner Referenz und nicht als Gruppe. In Ihrem Code können Sie diesen Ordner dann mit dem FileManager lesen.
imageNames wird in diesem Fall ein Array von Dateinamen in diesem URL-Pfad sein. Wenn Sie diese Route verwenden, müssen Sie die Bilder wahrscheinlich auch über contentsOfFile laden.
if let imagePath = bundle.path(forResource: fileName, ofType: nil) {
myImage = UIImage(contentsOfFile: imagePath)
}
Haben Sie dieses Problem gelöst? – mafioso
Ich erinnere mich nicht wirklich, aber ich glaube, dass ich eine etwas modifizierte Form von Dereks Code verwendet habe – LinusGeffarth