如何在Swift 3中使用SDWebImage在UITableViewCell中正确设置ImageView

时间:2017-01-01 07:49:03

标签: ios swift3 sdwebimage

我是Swift和iOS的新手,我希望获取一系列URL字符串并在UITableViewCell中填充ImageView,我已经为其创建了一个名为MyTableViewCell的类。

它崩溃了,我收到了错误:

"fatal error: unexpectedly found nil while unwrapping an Optional value"

当行imageTableView.datasource = self运行时,我可以在viewDidLoad()中看到。

我在视图中设置数据和委托如下:

override func viewDidLoad() {
    super.viewDidLoad()
    imagesTableView.dataSource = self
    imagesTableView.delegate = self
}

下面,imageUrls是一个字符串数组。

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

    let cell: MyTableViewCell = tableView.dequeueReusableCell(withIdentifier: "myTableViewCell", for: indexPath) as! MyTableViewCell

    cell.imageView.sd_setImage(with: URL(string: imageUrls[indexPath.row]))

    return cell
}

我在课堂上有一个电池插座:

@IBOutlet var imagesTableView: UITableView!

我的问题是,使用swift 3和SDWebImage执行此操作的正确方法是什么,以及为什么/ where images / images来自imagesTableView的nil值?

值得注意的是,我还尝试将一些字符串URL值硬编码到imageUrls中,以确保这不是问题(我得到了与硬编码值相同的错误)。

1 个答案:

答案 0 :(得分:1)

事实证明,虽然我连接了一个插座,但它以某种方式丢失了参考 - 我删除了整个tableview和子视图并重新创建并连接它们,错误消失了。当我先前拖拽出口时,必定会发生一些时髦的事情。