Ich bin neu in Swift. Im folgenden Code werden Fotos abgerufen und in ein Array eingefügt. Jetzt möchte ich sie in Imageviews zeigen. Wie kann ich es tun?Bilder von PHAsset in eine Bildansicht laden
Ich meine, wie, zum Beispiel, zeigen Sie ein Element des Arrays in einer Bildansicht.
var list :[PHAsset] = []
PHPhotoLibrary.requestAuthorization { (status) in
switch status
{
case .authorized:
print("Good to proceed")
let fetchOptions = PHFetchOptions()
let allPhotos = PHAsset.fetchAssets(with: .image, options: fetchOptions)
print(allPhotos.count)
allPhotos.enumerateObjects({ (object, count, stop) in
list.append(object)
})
print("Found \(allPhotos.count) images")
case .denied, .restricted:
print("Not allowed")
case .notDetermined:
print("Not determined yet")
}
Eine andere Frage ist: Wenn ich diese Funktion aufrufen, scheint es asynchron auszuführen. Ich meine Code Zeilen nach dem Aufruf der Funktion wird früh ausgeführt werden. Liegt das an requestAuthorization?
Wenn ich diese Funktion aufrufen und das Bild in der Bildansicht festlegen möchte, wird Folgendes ausgelöst: schwerwiegender Fehler: Index außerhalb des Bereichs. Es bleibt Asynchrone Ausführung. –
Haben Sie ein Bild auf Ihrem Gerät? – Himanshu
Ja. Ich habe es gelöst, indem ich den Code der letzten Zeile in den autorisierten Abschluss eingefügt habe und es funktioniert. Aber ich möchte es auf eine synchrone Art tun. –