Jun*_*ono 5 uitableview tableview ios swift swift3
tableView.reloadData()和之间有什么区别tableView.reloadRows(at: [IndexPath],with: .none)?
我知道细胞会在以后重新加载所有东西 tableView.reloadData()
我尝试了以下方法。
cell.count = 2
Run Code Online (Sandbox Code Playgroud)
indexPath= [0,0]和[0,1]
tableView.reloadRows(at: [[0,0] as IndexPath],with: .none)
tableView.reloadRows(at: [[0,1] as IndexPath],with: .none)
Run Code Online (Sandbox Code Playgroud)
但是,结果未达到预期。
重新加载所有tableView.reloadRows()单元格和重新加载单元格之间的行为是否有所不同tableView.reloadData()?
小智 4
查看苹果文档 -
\n\n1. 重新加载数据():
\n\n重新加载表视图的行和部分。
\n\n描述:调用此方法重新加载用于构造表格的所有数据,包括单元格、节页眉和页脚、索引数组等。为了提高效率,表视图仅重新显示那些可见的行。如果表因重新加载而缩小,它会调整偏移量。当表视图\xe2\x80\x99s委托或数据源希望表视图完全重新加载其数据时调用此方法。不应在插入或删除行的方法中调用它,尤其是在通过调用\xc2\xa0beginUpdates()\xc2\xa0and\xc2\xa0endUpdates()实现的动画块中。
\n\n2. reloadRows(at:with:) :
\n\n使用动画效果重新加载指定的行。
\n\n描述:
\n\n重新加载行会导致表视图向其数据源询问该行的新单元格。表格以动画方式显示新单元格,就像以动画方式显示旧行一样。如果您想提醒用户单元格的值正在更改,请调用此方法。但是,如果通知用户并不重要\xe2\x80\x94,也就是说,您只想更改单元格显示的值\xe2\x80\x94,则可以获取特定行的单元格并设置其新值。
\n\n当在\xc2\xa0beginUpdates()\xc2\xa0和\xc2\xa0endUpdates()\xc2\xa0方法定义的动画块中调用此方法时,其行为类似于\xc2\xa0deleteRows(at:with:)。\xc2\xa0UITableView\xc2\xa0 传递给该方法的索引在任何更新之前的表视图状态中指定。无论动画块内插入、删除和重新加载方法调用的顺序如何,都会发生这种情况。
\n\nhttps://developer.apple.com/documentation/uikit/uitableview/1614862-reloaddata \n https://developer.apple.com/documentation/uikit/uitableview/1614935-reloadrows
\n| 归档时间: |
|
| 查看次数: |
8888 次 |
| 最近记录: |