UItableView 在滚动时加载数据 10 10 条记录
Posted
技术标签:
【中文标题】UItableView 在滚动时加载数据 10 10 条记录【英文标题】:UItableView load data 10 10 records on scroll 【发布时间】:2014-04-04 07:29:24 【问题描述】:我正在从网络服务获取数据,我必须在 UITableView 中显示它。但这里的条件是我最初只能显示 10 条记录,然后一旦用户向下滚动,我必须加载更多包含图像的记录。我尝试搜索它但没有得到任何有用的答案。
-(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
显示值,但我将如何最初只获取 10 条记录 ce,然后基于滚动获取其他记录。请提供一些要点或示例代码
【问题讨论】:
你要找的东西叫做分页... hmm,我也有 100 多条带图像的记录,我想在最初的 10 条记录中加载 tableview 上的数据,在用户滚动或完全加载后,接下来的 10 条记录会自动加载如何这样做 Paging and UITableView?的可能重复 好吧,我提到了您要查找的内容称为分页或分页。搜索 UITableView 分页或 UITableView 分页,你会得到几十个结果和示例代码 我在 uitablview 中寻找分页 【参考方案1】:在您的后端链接中保留一个“索引”字段。当 index=0 时,从 backed 中获取 10 条记录,然后将 index 增加到 1,再获取 10 条记录,等等......
在最后滚动tableView时保留代码以调用链接,
-(void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate
NSInteger currentOffset = scrollView.contentOffset.y;
NSInteger maximumOffset = scrollView.contentSize.height- scrollView.frame.size.height;
if (maximumOffset - currentOffset <= 0)
index =index +1;
// Call your link here
【讨论】:
【参考方案2】:在您的 cellForRowAtIndexPath:
方法中,您始终可以检查当前行是否等于 your data - 1:
的计数
if(indexPath.row == tableData.count - 1)
[self getMoreData];
【讨论】:
【参考方案3】:-
我假设在您的网络服务中您将获得页码和 10
按页记录
当您在 tablview 中滚动时,它将调用 willDisplayCell 并检查
当前数组计数。
如果您的滚动达到等于数组计数或最后一条记录,它将再次请求带有页码的数据。
//Declare variable
NSInteger currentPageNumber;
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
if (indexPath.row == arrData.count-1)
currentPageNumber++;
//Call your Webservice
-(void)webserviceCall
//pass page number in your web service you will get data with page number
// After getting data from web service you need to add data in your array, so you will have total records.
if([[jsonResponse objectForKey:@"status"] intValue] == 1)
[arrData addObjectsFromArray:arrData];
【讨论】:
好的,如果我想在本地处理数据,我的意思是我从服务器获取 500 个数据耗时,在这里我想在滚动上加载 10 10 个数据将如何处理这个\ 您可以将收到的数据添加到本地数据库中,以便在本地没有互联网连接时获得。以上是关于UItableView 在滚动时加载数据 10 10 条记录的主要内容,如果未能解决你的问题,请参考以下文章