Попытка создать массив в Swift с UIImageView в качестве элементов - PullRequest
0 голосов
/ 02 апреля 2020

Я создаю приложение, в котором за каждый 1-секундный интервал времени изображение перемещается по доске. Я сделал это, создав таймер, выставив 9 изображений как скрытые, а затем каждую секунду делая .isHidden для одного из 9 изображений как ложное. Однако для этого я создал массив со всеми 9 элементами imageView и ожидал, что при вызове randomElement () из моего массива будет выбран один из ImageViews. Пока что мое приложение не работает, так как мой массив не будет, кроме imageViews. Ниже я вставил соответствующий код, но обратите внимание, что две нижние строки находятся в функции таймера, а массив находится вне ViewDidLoad.

let kennyArray = [kenny1.self, kenny2.self, kenny3.self, kenny4.self, kenny5.self, kenny6.self, kenny7.self, kenny8.self, kenny9.self ]
randomKenny = kennyArray.randomElement()
randomKenny.isHidden = false

1 Ответ

0 голосов
/ 02 апреля 2020

Во-первых, вам не нужно .self. Я думаю, что ваш подход может быть улучшен. Вместо создания массива UIImageView вам нужен массив UIImage и один UIImageView. После временного интервала вместо скрытия установите случайное изображение из массива в представление изображения.

var images = [image1, image2, image3]

@objc func alterImage() {
    imageView.image = images.randomElement()
    perform(alterImage, with: self, afterDelay: 10)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...