Получение значений из массива UIImage и преобразование в строку - PullRequest
0 голосов
/ 08 мая 2019

Невозможно преобразовать значение типа 'UIImage' в ожидаемый тип аргумента 'String'

Я пытаюсь создать книгу, и если я набираю имя нужной картинки в конструкторе UIImageView, который«Чашка», моя программа выполняется правильно и отображает одну и ту же картинку на каждой странице.Если я попытаюсь сделать «imageNames [element]», чтобы отобразить все мои изображения в зависимости от страницы в цикле my, он говорит, что не может конвертировать UIImage в String

      var imageNames: [UIImage] = [
         UIImage(named: "open")!,
         UIImage(named: "cup")!
      ]




        for element in 0 ..< imageNames.count {

        let vc = UIViewController()
        vc.view.backgroundColor = randomColor()

        //Where error is occurring!
        let imageView = UIImageView(image: UIImage(named: 
        imageNames[element]))
        vc.view.addSubview(imageView)
        }

, я думаю, что imageNames [element]даст мне строковое значение в массиве.Моя цель состоит в том, чтобы при открытии книги ... «открытая» картинка была на первой странице, а «чашка» - на второй странице.

1 Ответ

1 голос
/ 08 мая 2019

Просто используйте массив строк, а не изображений

 let imageNames = ["open", "cup"]

 for imageName in imageNames { // no reason for an index based loop

    let vc = UIViewController()
    vc.view.backgroundColor = randomColor()

    let imageView = UIImageView(image: UIImage(named: imageName))
    vc.view.addSubview(imageView)
}

Или, если вы действительно хотите массив изображений

 let images = [
     UIImage(named: "open")!,
     UIImage(named: "cup")!
 ]

 for image in images { // no reason for an index based loop

    let vc = UIViewController()
    vc.view.backgroundColor = randomColor()

    let imageView = UIImageView(image: image)
    vc.view.addSubview(imageView)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...