Я пытаюсь динамически установить UIImageView с помощью Kingfisher. Контекст состоит в том, что на предыдущем экране есть TableView с различными выбираемыми строками, а затем, когда строка выбрана, UIView показывает детали, которые содержат больше информации, включая изображение. Я просмотрел документацию Kingfisher и обнаружил, что объявление принадлежит viewDidLoad
, поскольку оно у меня есть, но я все еще не могу загрузить изображение. Я также проверил с помощью отладки, что URL-адрес, передаваемый в Kingfisher, является ссылкой на изображение. Я думаю, что это может быть связано с тем, что изображение устанавливается в фоновом потоке, но я не уверен, как это исправить, если это так. Я попытался переместить реализацию Kingfisher в функции viewWillAppear
и viewDidAppear
, но они по-прежнему не отображают изображение даже после длительного времени ожидания.
Вот мой код, в котором удалены некоторые несвязанные функции.
import UIKit
import Kingfisher
class DetailsViewController: UIViewController {
@IBOutlet weak var thumbnail: UIImageView!
var thumbnailURL: URL?
override func viewDidLoad() {
super.viewDidLoad()
self.thumbnail.kf.setImage(with: thumbnailURL)
...................................................
// self.thumbnail.image = UIImage(named: "image1")
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}