一尘不染

迅速为UITableView加载更多

swift

UITableView为iOS迅速着迷,我的Array内容超过了500个元素。

如何制作UITableView示例页面:

一旦用户滚动到最新版本Cell,应用程序就会从500个元素中加载更多内容,依此类推。

有什么帮助吗?

谢谢。


阅读 318

收藏
2020-07-07

共1个答案

一尘不染

为回答您的问题做了一个小测试!解决此问题的一种可能方法是制作另一个数组,并将其添加到要在表中显示的数据中,然后将数据加载到要加载的数据中!加载数据将willDisplayCell
forRowAtIndexPath

var allObjectArray: NSMutableArray = []
var elements: NSMutableArray = []

var currentPage = 0
var nextpage = 0

override func viewDidLoad() {
    super.viewDidLoad()
    for var i = 0; i <= 500; i++ {
        allObjectArray.addObject(i)
    }
    elements.addObjectsFromArray(allObjectArray.subarrayWithRange(NSMakeRange(0, 20)))
}
override func tableView(tableView: UITableView, willDisplayCell cell: UITableViewCell, forRowAtIndexPath indexPath: NSIndexPath) {
        println(indexPath.row)
        nextpage = elements.count - 5
        if indexPath.row == nextpage {
            currentPage++
            nextpage = elements.count - 5
            elements.addObjectsFromArray(allObjectArray.subarrayWithRange(NSMakeRange(currentPage, 20)))
                tableView.reloadData()
        }
    }

测试项目

https://drive.google.com/file/d/0B-CqajDlBoGHSE1OcjFoZWJxUTg/view?usp=sharing

2020-07-07