Avatar ·

Wie man Code korrekt in einem Hintergrund-Thread in Swift ausführt (Grand Central Dispatch)?

Hallo zusammen! Ich bin neu in der iOS-Entwicklung mit Swift und habe ein Problem mit Multithreading. Ich habe eine App, die Bilder aus dem Internet lädt. Wenn ich die Lade-Funktion im Haupt-Thread aufrufe, friert die Oberfläche für einige Sekunden ein – das Scrollen der Tabelle ruckelt, Animationen verschwinden. Ich verstehe, dass ich schwere Operationen (Netzwerkanfragen, Datenverarbeitung) in einen Hintergrund-Thread auslagern muss, weiß aber nicht, wie ich das richtig mache. Hier ist ein Beispiel meines Codes: ```swift func loadImage(from urlString: String) -> UIImage? { guard let url = URL(string: urlString) else { return nil } do { let data = try Data(contentsOf: url) return UIImage(data: data) } catch { print("Fehler beim Laden des Bildes: \(error)") return nil } } // Verwendung in viewDidLoad override func viewDidLoad() { super.viewDidLoad() let image = loadImage(from: "https://example.com/large-image.jpg") imageView.image = image } ``` Ich habe von Di gehört