gpt4 book ai didi

ios - 自定义单元格在屏幕外时未填充正确的数据

转载 作者:行者123 更新时间:2023-11-30 14:19:30 25 4
gpt4 key购买 nike

请原谅这个问题的天真本质,但尽管我在这里搜索,但我找不到解决方案。

在我的项目中,我有一个带有自定义单元格的 UITableView,所有这些单元格都由来自 API 的数据填充。此时,根据所需的设计,启动时屏幕上可以看到四个单元格,我必须滚动才能看到其他四个单元格。每个细胞有两个组成部分;一个标签和一个 UIView,它正在生成折线图。前四个单元格都正常工作,但第二组单元格(加载时在屏幕外)正确填充标签,但 UIView 未显示正确的数据集(它正在填充以前使用的数据)。

奇怪的是,如果我点击有问题的单元格之一,该单元格会立即重新加载正确的数据。

对于上下文,这是我的 TableViewController 的一部分;

...
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return minions.count
}

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
return minionCellAtIndexPath(indexPath)
}

func minionCellAtIndexPath(indexPath:NSIndexPath) -> MinionCell {
let minion = minions[indexPath.row]

let cell = tableView.dequeueReusableCellWithIdentifier(minionCellIdentifier, forIndexPath: indexPath) as! MinionCell

if let name = minion.name {

cell.nameLabel?.text = minion.name ?? "Minion"
cell.lineChart?.graphPoints = minion.bandwidth ?? [1,2,3,4,5]
} else {
cell.nameLabel?.text = "No data available."
cell.lineChart?.graphPoints = [1,2,3,4,5]
}
return cell
}
...

我是否需要在加载时以某种方式“预渲染”屏幕外单元格?再次为自己的天真感到抱歉。

一如既往,感谢您抽出时间!

最佳答案

正如您可能知道的那样,离开屏幕的单元格将被重新用于新行。这就是新行与旧图表一起出现的原因。事实上,如果您点击单元格,图表就会刷新并正确显示,这让我认为这是一个绘图问题。尝试通过在带有图表的 View 上调用 setNeedsDisplay 来触发强制重绘:

cell.lineChart?.graphPoints = [1,2,3,4,5]
cell.lineChart?.setNeedsDisplay()

关于ios - 自定义单元格在屏幕外时未填充正确的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30668370/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com