首页 > 解决方案 > 更新特定单元格

问题描述

所以我有一个显示json数据的tableview。

JSON1 = [{"serverid":65,"name":"Apple"},{"serverid":98,"name":"Mac"}] 从第二个 json 获取的每个单元格的第一个和详细信息。

JSON2 = [{"serverid":98,"updated": "10:29 PM"},{"serverid":65,"updated": "10:29 PM"}]

现在 60 秒后,我再次调用服务器以JSON 2返回(我获取 json 的顺序是随机的)。

有一个参数最后更新。基于此,我将检查要更新的单元格。

但是如何只更新选定的单元格?(不是完整的表格视图,而是特定的单元格)

我知道功能"reloadRows(at: [indexPath]",但我不知道如何将选定的单元格传递给这个函数?

标签: iosjsonswiftuitableview

解决方案


当您说选中时,这意味着单元格具有isSelected == true. 如果是这种情况,那么您可以使用indexPathsForSelectedRows

if let indexPaths = tableView.indexPathsForSelectedRows {
    tableView.reloadRows(at: indexPaths, with: .automatic)
}

但是,如果您选择的意思是数据源中需要通过 60 秒更新更改的行,那么您需要提供更多详细信息。您如何将数据源绑定到单元格tableView(_:cellForRowAt:)


推荐阅读