Загрузить изображение по URL используя extension (download load image from url) - Swift 5
extension UIImageView {
func downloadImage(_ imgURLString: String?, finished: @escaping ((_ isTrue: Bool, _ label: String)-> Void)){
finished(false, "Loading")
if let strURL = imgURLString {
if let url = URL(string: strURL) {
DispatchQueue.
global().
async { [
weak self]
in
if let data = try? Data(contentsOf: url) {
DispatchQueue.main.async {
self?.image =
UIImage(
data: data) }
finished(true, "Loaded")
}
else {
finished(false, "Failed to load image") }
}
}
else {
finished(false, "Invalid URL") }
}
else {
finished(false, "Invalid String URL")}
}
}
Использование
img.downloadImage("img url") { (bl, load) in
if bl {
DispatchQueue.main.async {
self.lbl.text = load
}
} else {
DispatchQueue.main.async {
self.lbl.text = load
}
}
}
Возврат к списку