Skip to content

Instantly share code, notes, and snippets.

@sturdysturge
Last active January 8, 2021 00:28
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sturdysturge/2138f83126ab17424a471ca16abb887d to your computer and use it in GitHub Desktop.
Save sturdysturge/2138f83126ab17424a471ca16abb887d to your computer and use it in GitHub Desktop.
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var imageView: UIImageView!
var image: UIImage? = nil
override func viewDidLoad() {
super.viewDidLoad()
awaitImage()
}
static let urlString = "https://upload.wikimedia.org/wikipedia/commons/0/0e/Faroese_sheep_Sumba_1.jpg"
static func getImage() async -> UIImage? {
guard let url = URL(string: urlString) else { return nil }
if let data = try? Data(contentsOf: url) {
return UIImage(data: data)
} else {
return nil
}
}
@asyncHandler internal func awaitImage() {
await self.image = Self.getImage()
DispatchQueue.main.async {
self.imageView.image = self.image
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment