Вы пытаетесь принудительно развернуть UIImage, который равен нулю.UIImage(named:)
метод используется, когда изображение присутствует внутри пакета, и вы хотите показать его оттуда.
hpc?.image = UIImage(named: charactersData[indexPath.row].image)! //Error found here
В приведенной выше строке вы используете UIImage (named :)!Это означает, что вы принудительно распаковываете его, что приводит к падению с неожиданно найденным нулем при развертывании необязательного значения
Решение Вы можете передать имя изображения так же, какимя и дом,
1) Обновите
class CharDetailsViewController: UIViewController {
// Add this property to hold url string for image.
var imageUrlString = String()
}
2) в didSelectRow, обновите код для передачи imageUrlString
hpc?.imageUrlString = charactersData[indexPath.row].image
2) поместите это в свой метод viewDidLoad CharDetailsViewController
if let imageURL = URL(string: imageUrlString) {
DispatchQueue.global().async {
let data = try? Data(contentsOf: imageURL)
if let data = data {
let image = UIImage(data: data)
DispatchQueue.main.async {
self.imageView.image = image
}
}
}
}
Надеюсь, это поможет