我打电话给有25条记录的api。我们怎么称呼这个api第一次我只得到十个记录。然后是10.然后剩余。
我完成了使用database.Call Web服务并在数据库中插入响应并获得10条记录。但我们的老板说不使用这种方法,从网络服务获得10条记录。我怎么用这个?请帮忙
答案 0 :(得分:1)
在这里你可以用两种方式做到这一点
最初,您从您的网络服务获取所有记录,并在您的桌面上加载10,10个数据,这是一次调用网络服务。
步骤1
@interface searchResultsViewController
{
int loadMoreItems;
}
步骤2
-(void)viewWillAppear:(BOOL)animated
{
loadMoreItems=11;
[self callyourwebservice];
}
步骤-3
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
if ([yourarray count]<=loadMoreItems) {
return [yourarray count];
}
else {
// load load extra items
return loadMoreItems;
}
}
步骤-4
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
........
if (indexPath.row+1<loadMoreItems)
{
cell.textLabel.text=[NSString stringWithFormat:@" %@",[yourarray objectAtIndex:indexPath.row]] ;
}
else
{
cell.textLabel.text = @"Load more results...!";
}
}
步骤-5
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
if (indexPath.row+1<loadMoreItems) {
// do your stuff here
}
else {
loadMoreItems=loadMoreItems+10;
[self.tblvie reloadData];
}
}
您可以设置页面调用(设置一些识别页面,显示接收的数据量),最初使用Page one key == 0调用第一个Web服务,并在最后一行遇到表格时将数据加载到表格中调用另一个Web像Page one key == 1等服务......
示例
步骤-1
@interface HomeViewController ()<UITableViewDataSource,UITableViewDelegate>
{
int pagecount;
}
步骤2
-(void)viewWillAppear:(BOOL)animated
{
pagecount =1;
[self callyourwebservice];
}
步骤-3
-(UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
if(indexPath.row == yourarray.count - 1)
{
NSLog(@"lasrt row called");
[self launchReload];
}
}
-(void) launchReload
{
pagecount=pagecount+1;
// do something
[yourtableview reloadData];
}