0

如何在 iOS 下创建实时 UITableView?

我的意思是,我想创建连接到用 JAVA 编写的服务器的应用程序。POST 请求下的服务器返回带有数据的地图表(JSON 格式)。问题是,数据可能非常大(大约 100000 条记录)。我已经在服务器端实现了部分返回数据(当 POST 具有偏移量和大小参数时,服务器将数据从偏移量返回到(偏移量 + 大小)和数据总数)。

问题是我不知道如何用 iOS 实现它。

我知道如何让 UITableView 处理从服务器下载的数据,但我不知道如何让 UITableView 处理部分数据:例如:在进入查看时,当用户向下滚动时,我只下载 100000 行的 100 行(例如到80行)我下载下一部分数据。我的意思是我不想将整个 100000 行存储在内存中,但只有 200 行可以显示在表格视图中。当用户滚动到表格末尾时,在内存中我应该有从 99800 到 100000 的行

4

1 回答 1

1

当用户滚动时,tableview我们将检查是否到达最后一个单元格,如果到达最后一个单元格,我们将dataset像这样下载下一个:

-(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath{

    NSInteger sectionsAmount = [tableView numberOfSections];
    NSInteger rowsAmount = [tableView numberOfRowsInSection:[indexPath section]];

    if ([indexPath section] == sectionsAmount - 1 && [indexPath row] == rowsAmount - 1) {
        // This is the last cell in the table
        //Here you can download the next part of dataset and reload the tableView.
     }
} 

希望这会帮助你。

于 2013-09-19T10:52:43.180 回答