如何将解析的JSON数据导入CollectionViewCell

时间:2014-12-09 21:37:11

标签: ios json swift uicollectionview

我有一个似乎成功解析的AS3图像链接到一个名为' smImg'的UIImage数组。

我现在正试图将每个链接作为UIImage附加到我的UICollectionViewCell的imageView(我在其中添加了一个IBOutlet' imageView'。)我一直收到错误' UICollectionViewCell' ;没有名为' imageView'的成员。相关代码如下。

ViewModel.swift:

func imageForItemAtIndexPath(indexPath: NSIndexPath) -> UIImage {
     return smImg[indexPath.row]
}

ViewController.swift

func configureCell(cell: UICollectionViewCell, atIndexPath indexPath: NSIndexPath) {
    cell.imageView!.image = viewModel.imageForItemAtIndexPath(indexPath) //Error occurs here
}

override func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {

    let cell = collectionView.dequeueReusableCellWithReuseIdentifier("cell", forIndexPath: indexPath) as PhotoCell
    configureCell(cell, atIndexPath: indexPath)
    return cell
}

PhotoCell.swift

class PhotoCell: UICollectionViewCell {


@IBOutlet weak var imageView: UIImageView!

}

有人可以帮我解决这个问题吗?非常感谢任何帮助,我尽量不在这里问太多问题,但一直无法找到我自己的解决方案。

1 个答案:

答案 0 :(得分:1)

你的方法

func configureCell(cell: UICollectionViewCell, atIndexPath indexPath: NSIndexPath) {
    cell.imageView!.image = viewModel.imageForItemAtIndexPath(indexPath) //Error occurs here
}

期待一个UICollectionViewCell,您应该将其更改为期待一个照片单元格,因为这是您发送它的。

func configureCell(cell: PhotoCell, atIndexPath indexPath: NSIndexPath) {
    cell.imageView!.image = viewModel.imageForItemAtIndexPath(indexPath) //Error occurs here
}

您还需要确保告诉collectionView将PhotoCell用作其单元格类型。因此,当您初始化集合视图时,您需要有一行看起来像这样的

collectionView.registerClass(PhotoCell.self, forCellWithReuseIdentifier: "Reuse Identifier")