闭包块

时间:2018-03-23 14:44:29

标签: swift sdwebimage

我试图在从Firebase获取userInfo后在闭包块中使用SDWebImage。但是,这样做会导致图像和单元格标签在单元格尝试重绘时滚动tableView时闪烁。

let expiredConversationsCell = tableView.dequeueReusableCell(withIdentifier: "expiredConversationsCell", for: indexPath) as! ExpiredConversationsTableViewCell

let conversation = allConversations[0][indexPath.row]
guard let recipientID = conversation.recipientID else {return UITableViewCell()}

FirebaseClient.shared.getUserInfo(recipientID, { (results, error) in
    if let error = error {
        print(error.localizedDescription)
    } else if let results = results {
        let username = results["username"] as! String
        let profileImageUrl = results["profileImageUrl"] as! String

        DispatchQueue.main.async {
            expiredConversationsCell.profileImageView.sd_setImage(with: URL(string: profileImageUrl), completed: nil)
            expiredConversationsCell.recipientNameLabel.text = username
        }
    }
})

return expiredConversationsCell

在这种情况下有没有办法实施SDWebImages?任何建议都会很棒。感谢。

0 个答案:

没有答案