1

我有一个TableView自定义单元格。标签smiles包含链接。

如何将图像从链接放到当前的 ImageView'cell?我的代码

 func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let identifier = "ClientCell"
        self.cell = self.tableView.dequeueReusableCell(withIdentifier: identifier) as? customChatCell

let text = message[Constants.MessageFields.text] ?? ""
let selectedCell = self.tableView.cellForRow(at: indexPath) as? customChatCell

***

if text.range(of:"smiles") != nil {
            let url = URL(string: text)
            self.cell![indexPath.row].smile.kf.setImage(with: url)
        } 

***
}

不工作。我收到线路错误self.cell![indexPath.row].smile.kf.setImage(with: url)

类型“customChatCell”没有下标成员

我用的是翠鸟。如果我使用代码

self.cell.smile.kf.setImage(with: url)

图像放入所有单元格,而不是当前。

请帮我修复它。

4

1 回答 1

2

您应该删除保持cell参考class水平。你cellForRow应该看起来像这样

 func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
       let identifier = "ClientCell"
       let cell = tableView.dequeueReusableCell(withIdentifier: identifier) as? customChatCell

       let text = message[Constants.MessageFields.text] ?? ""
       if text.range(of:"smiles") != nil {
            let url = URL(string: text)
            cell.smile.kf.setImage(with: url)
       } else {
           // Reset image to nil here if it has no url
           cell.smile.image = nil  
       }
} 

请记住,您为每个单元格使用一个UIView(即),因此当您使单元格出列时,您有责任根据每个单元格的数据更新/重置元素。customChatCellUITableViewUI

于 2018-12-19T08:52:58.377 回答