Я пытаюсь использовать SDWebImage для загрузки и изображения с внешнего URL-адреса и вернуть его. Я не хочу устанавливать это в представлении. Это код, который я использую, но он не работает. Я возвращаю ноль. Но я знаю URL, который я передаю в работах, потому что я вижу его в браузере. Что я делаю неправильно?
func downloadImage() -> CGImage {
var myImage: CGImage?
let myUrl = URL(string: "my-url-here.com")
SDWebImageDownloader.shared.downloadImage(with: myUrl, completed: { (image, data, error, true) in
print("Completed")
if image != nil {
myImage = image?.cgImage
}
})
return myImage!
}
Я тоже пробовал эту версию, тоже не повезло:
func downloadImage() -> CGImage {
var myImage: CGImage?
let myUrl = URL(string: "my-url-here.com")
SDWebImageManager.shared.loadImage(with: myUrl, options: .continueInBackground, progress: { (received, expected, nil) in
print(received, expected)
}, completed: { (downloadedImage, data, error, SDImageCacheType, true, imageUrlString) in
DispatchQueue.main.async {
if downloadedImage != nil {
myImage = downloadedImage?.cgImage
}
}
})
return myImage!
}