2016-05-29 4 views
0

Я показываю UIImageView внутри пользовательского UITableViewCell только для тех ячеек, у которых есть URL изображения, заданный в ответ Firebase. Код, как показано ниже:UIImageView в UITableViewCell не отображается для условия

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { let cellIdentfier = "ArticleTableViewCell" 
    let cell = tableView.dequeueReusableCellWithIdentifier(cellIdentfier, forIndexPath: indexPath) as!ArticleTableViewCell 

    //Configure the cell 
    // Added by ankit khanna for UIImageView change 

    let imageURL = imageArray[indexPath.row] 
    print ("Final Image URL: [\(imageURL)]") 

    if (imageURL == "NIL") { 
     cell.articalImageView.hidden = true 
    } 

     let fileUrl = NSURL(string: imageURL as String) 
     print ("File URL : [\(fileUrl!)]") 
     cell.articalImageView.hnk_setImageFromURL(fileUrl!) 


    // End 
} 

Проблема, если я удалить, если условие if (imageURL == "NIL") изображение отображается правильно, но тогда, когда я прокрутить назад вверх изображение начинает показывать вверх, где оно не должно отображаться.

Массив изображения: var imageArray = [String]()

Ниже приведен код, где я прилагая массив

  if (snapshot.value.objectForKey("image") != nil) 
     { 
      let url = snapshot.value.objectForKey("image")! 
      let f_url = String(url) 
     // print ("image1 URL : \(f_url)") 
      self.imageArray.append(f_url) 
     } 
     else if (snapshot.value.objectForKey("image") == nil) 
     { 
      self.imageArray.append("NIL") 
     } 

Как я полагаю, чтобы отключить UIImageView для ответа, где он пуст.

ответ

0

Я был в состоянии решить эту проблему, добавив

cell.articalImageView.hidden = false в заявлении еще.

Исправленный код:

 if (imageURL == "NIL") { 
     cell.articalImageView.hidden = true 
    } 
    else { 
     cell.articalImageView.hidden = false 
     let fileUrl = NSURL(string: imageURL as String) 
     print ("File URL : [\(fileUrl!)]") 
     cell.articalImageView.hnk_setImageFromURL(fileUrl!) 
    }