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

How to properly set ImageView in a UITableViewCell with SDWebImage in Swift 3

我是 Swift 和 iOS 的新手,在这种情况下我想获取一个 URL 字符串数组并在 UITableViewCell 中填充一个 ImageView,我已经做了一个合适的class for,叫做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
}

我在 class:

中有一个电池插座
@IBOutlet var imagesTableView: UITableView!

我的问题是,使用 swift 3 和 SDWebImage 执行此操作的正确方法是什么,why/where imagesTableView 的 nil 值是否出现?

可能值得注意的是,我还尝试将一些字符串 URL 值硬编码到 imageUrls 中以确保这不是问题所在(我对硬编码值也有同样的错误)。

事实证明,虽然我连接了一个插座,但它以某种方式丢失了引用 - 我删除了整个表视图和子视图并重新创建并连接它们,错误消失了。我之前拖放插座时一定发生了一些奇怪的事情。