Mar*_*oon 3 uitableview swift3
我正在myTableview为该博客帖子添加分页.数据源是一组帖子,即posts = [post].
我最初拿了20个帖子.我有一个按钮,可以获取接下来的20条记录.所有这一切都很好.我无法想象如何在不调用的情况下在表中插入这些新记录reloadData().有人可以解释下面的代码吗?我不明白indexPaths下面第2和第3行发生了什么.上:
IndexPath(row:(self.posts.count - 1)
Run Code Online (Sandbox Code Playgroud)
我是否通过原始数据集的最后一行或更新的数据集?
TableView.beginUpdates()
let indexPath:IndexPath = IndexPath(row:(self.posts.count - 1), section:0)
TableView.insertRows(at: [indexPath], with: .left)
TableView.endUpdates()
Run Code Online (Sandbox Code Playgroud)
如果要将项添加到tableview,则传递给的值insertRows将是模型对象中新行的索引路径数组:
let additionalPosts = ...
posts += additionalPosts
let indexPaths = (posts.count - additionalPosts.count ..< posts.count)
.map { IndexPath(row: $0, section: 0) }
tableView.insertRows(at: indexPaths, with: .left)
Run Code Online (Sandbox Code Playgroud)
所以,如果您的数组中有20个项目,并且您添加了另外20个帖子,那么indexPaths将是:
[[0,20],[0,21],[0,22],[0,23],[0,24],[0,25],[0,26],[0,27],[ 0,28],[0,29],[0,30],[0,31],[0,32],[0,33],[0,34],[0,35],[0, 36],[0,37],[0,38],[0,39]]
| 归档时间: |
|
| 查看次数: |
2755 次 |
| 最近记录: |