2016-10-31 4 views
0

Ich habe 500 MB Bilder in Ordnern in Assets. Ich kenne keinen ihrer Namen. Gibt es eine Möglichkeit, auf sie zuzugreifen ... sie in Array zu speichern und dann anzuzeigen?Swift: Wie man Image-Name von Assets

Beispiel: Ich habe 3 Bilder gespeichert in Assets/folder1/folder2 Ordner 2 enthält, dass 3 Bilder ..... Ich muss diese Namen bekommen.

enter image description here

Hier ist der Grund, warum ich diese brauchen .... Ive mit Bibliothek Auto Bilder zur Verfügung gestellt worden und dass die Bilder haben unlogisch Namen.

enter image description here

+0

Sind diese Bilder im Programm-Paket von einem Mac oder iOS-App gespeichert? Oder sind sie auf der Festplatte gespeichert? – daltonclaybrook

+2

Sie "haben" sie, aber Sie kennen ihre Namen nicht? Wie kann das sein? – matt

+0

Ich muss auf sie in App per Code zugreifen. –

Antwort

2

Sie können nicht tun, was Sie beschreiben, während die Bilder im Assets Katalog zu speichern. Das Abrufen einer Ressource aus einem Asset-Katalog hängt davon ab, dass Sie den tatsächlichen Namen kennen.

Speichern Sie diese Ordner stattdessen direkt auf der obersten Ebene Ihres App-Bundles. Jetzt haben Sie einen aktuellen Ordner, auf den Sie zugreifen können, und können den FileManager nach den Namen der Bilder im Ordner fragen.

enter image description here

Beispiel (Swift 2.2, sorry):

let f = NSBundle.mainBundle().URLForResource("carPix", withExtension: nil)! 
let fm = NSFileManager() 
let arr = try! fm.contentsOfDirectoryAtURL(f, includingPropertiesForKeys: nil, options: []) 
print(arr) // the URLs of the two jpg files 
+0

oh .... was meinst du mit FileManager? Ich möchte nicht jedes Bild mit der rechten Maustaste anklicken, um den Pfad zu finden ... ich habe über 3000 Bilder mit einer Größe von 510 Mb: -/ –

+0

Ich werde deine App nicht für dich schreiben. Ich habe die Frage beantwortet, die du gestellt hast. Mit dem Dateimanager können Sie den Ordnerinhalt durchsuchen/auflisten. – matt

+0

Oh .... du hast ein Beispiel geliefert .... habe es nicht gesehen. Vielen Dank. –

0

Beispiel oben mit Swift 3

if let f = Bundle.main.url(forResource: "carPix", withExtension: nil) { 
    let fm = FileManager() 
    return try? fm.contentsOfDirectory(at: f, includingPropertiesForKeys: nil, options: []) 
} 
return nil 
Verwandte Themen