2015-07-03 3 views
0

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

ответ

1

@IBOutlet var customImageView: UIImageView! определение разворачивающейся стоимости с использованием ! здесь вызывает проблему. Потому что, если вы приводите значение с !, что означает, что он не может быть nil

делает его по желанию будет решать проблему

@IBOutlet var customImageView: UIImageView? 
Смежные вопросы