Я пытаюсь извлечь и отобразить из словаря случайный набор изображений со связанным текстом при нажатии кнопки.
Сначала я попытался разделить массив изображений и текстовый массив и использовать Int (arc4random_uniform ()) для случайного выбора элементов из массива для отображения. Это сработало, НО при этом мне нужно убедиться, что изображение и связанный с ним текст находятся в одинаковом положении в их собственном массиве, и я подумал, что должны быть лучшие способы структурировать данные, объединяя их в многомерный массив или словарь. Я закончил тем, что использовал словарь, но застрял, не знаю, как получить изображение и текст для отображения.
См. В коде ниже // ЭТО БИТ, КОТОРЫЙ Я ПОЛУЧИЛ В . Я не знаю, как извлечь изображение и его текст из словаря.
Я не уверен, нормально ли помещать переменные myImage и myText в словарь, и повторять это немного утомительно ' myImage ',' myText 'для каждого набора.
@IBOutlet weak var myImage: UIImageView!
@IBOutlet weak var myText: = UILabel()
var randomSet = [[myImage:"1-image", myText:"text for 1"], [myImage:"2-image", myText:"text for 2"], [myImage:"3-image", myText:"text for 3"], [myImage:"4-image", myText:"text for 4"], [myImage:"5-image", myText:"text for 5"]]
func randomiseSet (){
let randomNumber:Int = Int(arc4random_uniform(5))
//THIS IS THE BIT I GOT STUCK AT
myImage.image = UIImage(named: randomSet[randomNumber])
myText.text = randomSet[randomNumber]
//END
}
@IBAction func showRandomSet(_ sender: UIButton) {
randomiseSet()
}
Я также попытался вместо использования myImage.image = .... myText.text= ....
return randomSet[[randomNumber]]
Оба не работали и показали 'Build Failed'
Я также исследовал использование CoreData, но я новичок, и это открывает другую банку червядля меня, что касается двоичных данных для изображений против использования URL из-за размера изображения и т. д.
Любое предложение о том, что является лучшим способом исправить вышеуказанное, очень ценится. Спасибо.