gpt4 book ai didi

ios - 如何覆盖 reloadRowsAtIndexPaths?

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:59:39 27 4
gpt4 key购买 nike

我正在尝试覆盖 tableView 单元格的方法 reloadRowAtIndexPath

我想做的和你覆盖 cellForRowAtIndexPath 时一样:

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell
{
if(isUserTalking(indexPath))
{
return userMessageCell(indexPath)
}
else
{
if(isNotUserFirstMessage(indexPath))
{
return notUserFirstMessageCell(indexPath)
}
else
{
return notUserNotFirstMessageCell(indexPath)
}
}

}

这样:

func tableView(tableView: UITableView, reloadRowsAtIndexPaths indexPath: NSIndexPath) -> UITableViewCell
{
print("job")
if(isNotUserFirstMessage(indexPath))
{
return notUserFirstMessageCell(indexPath, showImage: false)
}
else
{
return notUserNotFirstMessageCell(indexPath, showImage: false)
}
}

但是当我使用 self.myTable.reloadRowsAtIndexPath 时,它从不调用覆盖版本。

你知道怎么解决吗?

最佳答案

reloadRowsAtIndexPaths 并不是真正的目的。你可能想使用
tableView(_:willDisplayCell:forRowAtIndexPath:)
代替。例如:

func tableView(tableView: UITableView, willDisplayCell cell: UITableViewCell, forRowAtIndexPath indexPath: NSIndexPath) {
print("job")
if isNotUserFirstMessage(indexPath) {
configureNotUserFirstMessageCell(cell, showImage: false)
} else {
configureNotUserNotFirstMessageCell(cell, showImage: false)
}
}

关于ios - 如何覆盖 reloadRowsAtIndexPaths?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37886353/

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