Junior — Middle
Hogyan lehet programozottan letölteni egy képet az interneten található linkről?
sobes.tech MI
Válasz az MI-től
Az iOS rendszerben az URL-ről történő kép betöltéséhez használhatja a URLSession osztályt hálózati kérés végrehajtására és az adatok beszerzésére, majd az így kapott adatokból UIImage-t hozhat létre. Itt egy egyszerű példa Swift-ben:
import UIKit
func downloadImage(from urlString: String, completion: @escaping (UIImage?) -> Void) {
guard let url = URL(string: urlString) else {
completion(nil)
return
}
URLSession.shared.dataTask(with: url) { data, response, error in
guard let data = data, error == nil else {
completion(nil)
return
}
let image = UIImage(data: data)
DispatchQueue.main.async {
completion(image)
}
}.resume()
}
// Használat:
downloadImage(from: "https://example.com/image.jpg") { image in
if let img = image {
// Használja az img-t, például UIImageView-hez rendelve
} else {
print("Nem sikerült betölteni a képet")
}
}
Ez a kód aszinkron módon tölti le a képet, és egy záradék segítségével adja vissza.