Avatar ·

So führen Sie Aufgaben im Hintergrundthread in Swift (Grand Central Dispatch) richtig aus

Hallo zusammen! Ich bin neu in Swift und der iOS-Entwicklung. Ich schreibe eine einfache App zum Herunterladen von Bildern aus dem Internet. Wenn ich auf die Schaltfläche "Laden" klicke, friert die Benutzeroberfläche für einige Sekunden ein, bis das Bild erscheint. Ich habe gehört, dass man Hintergrundthreads verwenden sollte, um den Hauptthread (UI) nicht zu blockieren. Aber ich verstehe nicht, wie man das in Swift richtig macht. Hier ist mein aktueller Code: ```swift import UIKit class ViewController: UIViewController { @IBOutlet weak var imageView: UIImageView! @IBAction func loadImageTapped(_ sender: UIButton) { // Problem: Dieser Code wird im Hauptthread ausgeführt let url = URL(string: "https://example.com/large-image.jpg")! let data = try! Data(contentsOf: url) imageView.image = UIImage(data: data) } } ``` Ich habe versucht, `DispatchQueue.global().async` zu verwenden, aber danach wird das Bild nicht aktualisiert. Können Sie mir bitte erklären, wie ich das Herunterladen von Daten im Hintergrund richtig organisiere und dann die UI aktualisiere? Und was ist das?