Ich zeige eine UIImageView in einer benutzerdefinierten UITableViewCell nur für die Zellen an, deren Image-URL in der Firebase-Antwort festgelegt wurde. wie unten Code:UIImageView in UITableViewCell wird für eine Bedingung nicht angezeigt
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
}
Problem ist, wenn ich das, wenn die Bedingung if (imageURL == "NIL")
Bild richtig angezeigt wird entfernen, aber dann, wenn ich Bild scrollen wieder nach oben beginnt zu zeigen, wo es nicht nach oben zeigen sollte.
Bild Array: var imageArray = [String]()
Unten ist der Code, wo ich das Array am anhängen
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")
}
Wie bin ich nehme an, die UIImageView für die Antwort zu deaktivieren, wenn es leer ist.