Мне нужно отобразить изображение в зависимости от того, какой вариант (1 из 3) пользователь выбрал на предыдущем экране, поэтому я написал собственный класс изображения следующим образом:
class customImageView: UIImageView {
var imageName: String?
func setImage(_ name: String) {
imageName = name
image = UIImage(named: imageName ?? "logoImage")
//where "logoImage" is the name of the logo image file saved in xc.assets.
}
}
Вот мой экземпляр изображения:
let image: customImageView = {
let image = customImageView()
let imageRetrievedFromUserDefaults = defaults.object(forKey: "chosenImage") //a string value
print(imageRetrievedFromUserDefaults!)
if let retrievedImageName = imageRetrievedFromUserDefaults {
image.imageName = "\(retrievedImageName)"
}
image.contentMode = .scaleAspectFit
image.clipsToBounds = true
image.translatesAutoresizingMaskIntoConstraints = false
return image
}()
Что мне нужно сделать, так это то, что в зависимости от того, какой вариант пользователь выбрал на странице 1, изображение отображается на странице 2. 3 строки на странице 1 совпадают с именамифайлы xc.asset в приложении.
Например. если человек на странице 1 выбирает «Apple», я хочу, чтобы этот строковый литерал хранился по умолчанию, а изображение на xc.assets, которое также называется «Apple», появилось на странице 2.
Однакос помощью приведенного выше кода на странице 2 ничего не отображается (даже изображение логотипа).