Swift - 将单元格 customImageView.image 设置为 nil 会导致错误

Swift - Setting cell customImageView.image to nil causes error

我目前正在开发一个应用程序的新闻页面,我们在尝试将单元格的 customImageView.image 设置为 nil 时遇到了一个问题,以确保单元格在加载时不会加载另一个单元格的图像它是自己的:

cellForRowAtIndexPath (tableView)

    override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {

    var requestImg: Alamofire.Request?

    var article : NewsItem
    article = filteredArticles[indexPath.row]
    let imageUrl = NSURL(string: article.image)

    if imageUrl == nil || article.image.isEmpty { newsCellIdentifier = "NewsCellNoImage" }
    else { newsCellIdentifier = "NewsCell" }

    let cell = self.tableView.dequeueReusableCellWithIdentifier(newsCellIdentifier) as! NewsCell

    if (imageUrl != nil || !article.image.isEmpty) {

        cell.customImageView.image = nil // < ISSUE HERE
        requestImg?.cancel()

            requestImg = Alamofire.request(.GET, article.image).responseImage() {
                (request, _, image, error) in
                if error == nil && image != nil {
                    cell.customImageView.image = image
                }
            }
    }

    cell.titleLabel.text = article.title
    cell.categoryLabel.text = article.category

    return cell
}

NewsCell.Swift

class NewsCell: UITableViewCell {

@IBOutlet var titleLabel: UILabel!
@IBOutlet var customImageView: UIImageView!
@IBOutlet weak var categoryLabel: UILabel!
@IBOutlet weak var articleTime: UILabel!

override func awakeFromNib() {
    super.awakeFromNib()
}

override func setSelected(selected: Bool, animated: Bool) {
    super.setSelected(selected, animated: animated)
}
}

问题在调用 cell.customImageView.image = nil 时出现,我得到的是:fatal error: unexpectedly found nil while unwrapping an Optional value

在我看过的所有地方,这是重置 UIImageView 图像的正确方法,所以如果我出错的地方提供任何帮助,我们将不胜感激。

@IBOutlet var customImageView: UIImageView! 在此处使用 ! 定义展开值会导致问题。因为如果你用 ! 转换值,那意味着它不能是 nil

将其设为可选即可解决问题

@IBOutlet var customImageView: UIImageView?