来自cellForRowAtIndexPath中的dequeueReusableCellWithIdentifier的单元格在滚动之前不显示

时间:2015-11-19 23:47:57

标签: ios swift uitableview

我有以下功能来填充tableview。我正在制作一个数组并获取文本和图像以显示在单元格中。加载该信息时,应该显示该单元格。但是,在滚动之前,单元格不会显示。问题是什么?我该如何解决?我看了其他问题,但他们似乎无法回答我的问题,或者我可能只是不明白他们在说什么。

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

    var song : PreviousSong
    song = self.previousSongs[indexPath.row]

    if (song.artist != "") {
        tableView.userInteractionEnabled = true

        cell.song.text = song.song
        cell.artist.text = "by " + song.artist
        cell.time.text = song.time
        cell.art.image = song.art

        cell.backgroundColor = UIColor.grayColor()
        cell.alpha = 0

        UIView.animateWithDuration(0.15, animations: { cell.alpha = 1 })

    }

    return cell
}

1 个答案:

答案 0 :(得分:0)

加载数据后调用此方法:

dispatch_async(dispatch_get_main_queue()) {
    self.tableView.reloadData()
}