как получить изображение из NSMutableArray и отправить его в коллекцию

61
6

У меня есть этот массив:

override func viewDidLoad() {
super.viewDidLoad()

topDestinations = [["image": "hotel2.jpeg","name":"Ibiza"],
["image": "hotel2.jpeg","name":"huehueuhe"],
["image": "hotel2.jpeg","name":"Ibiza"],
["image": "hotel2.jpeg","name":"Ibiza"],
["image": "hotel2.jpeg","name":"huehueuhe"],
["image": "hotel2.jpeg","name":"Ibiza"],
["image": "hotel2.jpeg","name":"Ibiza"],
["image": "hotel4.jpeg","name":"Ibiza"],
["image": "hotel2.jpeg","name":"huehueuhe"],
["image": "hotel4.jpeg","name":"Ibiza"],
["image": "hotel2.jpeg","name":"Ibiza"],
["image": "hotel2.jpeg","name":"Ibiza"],
["image": "hotel4.jpeg","name":"Ibiza"],
["image": "hotel2.jpeg","name":"Ibiza"],
["image": "hotel4.jpeg","name":"huehueuhe"],
["image": "hotel2.jpeg","name":"Ibiza"],
["image": "hotel2.jpeg","name":"Ibiza"],
["image": "hotel2.jpeg","name":"vhuehueuhe"],
["image": "hotel4.jpeg","name":"Ibiza"],
["image": "hotel4.jpeg","name":"Ibiza"],
["image": "hotel4.jpeg","name":"Ibiza"],
["image": "hotel2.jpeg","name":"Ibiza"],
["image": "hotel2.jpeg","name":"Ibiza"],
["image": "hotel4.jpeg","name":"Ibiza"],
["image": "hotel4.jpeg","name":"Ibiza"]]
}

Я хочу получить соответствующее изображение как ячейку и собрать ее здесь:

func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCellWithReuseIdentifier("TopDestinationsCell", forIndexPath: indexPath) as! UICollectionViewCell

var hotelImageView : UIImageView = cell.viewWithTag(1) as! UIImageView
var hotelNameLabel : UILabel = cell.viewWithTag(2) as! UILabel

hotelImageView.image = topDestinations[indexPath.row]["image"] as? UIImage
hotelNameLabel.text = topDestinations[indexPath.row]["name"] as? String

return cell
}

Право названия ячейки отображается правильно, но ни одна из фотографий не появляется

спросил(а) 2015-07-27T17:22:00+03:00 5 лет, 7 месяцев назад
1
Решение
95

Вы должны фактически загрузить изображение в UIImageView, а не просто дать ему имя изображения. Это предполагает, что изображение находится в главном комплекте (для этого вам может не понадобиться расширение.jpeg).

hotelImageView.image = UIImage(named: topDestinations[indexPath.row]["image"])

ответил(а) 2015-07-27T17:25:00+03:00 5 лет, 7 месяцев назад
44

Вы должны создать новый UIImage, используя имя изображения, предоставленное из ваших данных

UIImage(named: "imageName.jpg")

а затем назначьте это свойство изображения вашего UIImageView

ответил(а) 2015-07-27T17:24:00+03:00 5 лет, 7 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема