В настоящее время я работаю над новостной страницей для приложения, и мы столкнулись с проблемой при попытке установить для customImageView.image ячейки значение nil, чтобы гарантировать, что ячейки не загрузить изображение другой ячейки в то время как он загружает его собственный:Swift - настройка ячейки 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, поэтому любая помощь, в которой я ошибаюсь, будет очень признательна.