Skip to content

Instantly share code, notes, and snippets.

@giln
Created May 6, 2019 08:55
Show Gist options
  • Save giln/2184af3ceb81d7a40a9c275aa183b5dc to your computer and use it in GitHub Desktop.
Save giln/2184af3ceb81d7a40a9c275aa183b5dc to your computer and use it in GitHub Desktop.
import UIKit
public class DownloadImageView: UIImageView, DataFetching {
// MARK: - Variables
public var placeHolder: UIImage?
public var url: URL? {
didSet {
image = placeHolder
if let downloadURL = url {
fetchData(url: downloadURL) { data, _ in
guard let data = data else {
DispatchQueue.main.async {
self.image = self.placeHolder
}
return
}
let image = UIImage(data: data)
DispatchQueue.main.async {
// On vérifie que l'URL n'a pas changé
if downloadURL == self.url {
self.image = image
}
}
}
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment