Загрузка изображений TableView, CollectionView (Download Images for Tableview or CollectionView) - Swift 5
Упращённый метод загрузки изображений!
import UIKit
class ImageLoader {
static func DownloadImage(withURL url : URL, complition : _ image : UIImage -> ()) {
let dataTask =
URLSession.
shared.
dataTask(with: url) {data, urlData, error1 in
// Картинка по умолчанию!
let defImage =
UIImage(named: "RedRose.jpg")!
var downloadImage : UIImage?
if let data =
data {
downloadImage =
UIImage(
data: data)
}
if downloadImage != nil {
print("Success DownLoad Image")
}
else {
print("Error download Image")
}
DispatchQueue.main.async {
complition(downloadImage ?? defImage)
}
}
dataTask.resume()
}
}
// Использование
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath)
// Заменить на массив!
let imageURL = URL(string: "Phono.png")
// ImageLoader - название класса!
ImageLoader.DownloadImage(withURL: imageURL!) { (lodedImg) in
cell.imgFlower.image = lodedImg
}
}
Возврат к списку