我正在尝试覆盖 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 - 如何覆盖 reloadRowsAtIndexPath?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37886353/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |