滚动到tableView结尾后,重新加载包含更多内容的TableView数据

时间:2012-12-03 06:53:25

标签: iphone objective-c xcode uitableview

我在如何在表视图中重新加载数据时遇到困难,例如,我从服务获得响应计数10.现在我需要获得额外的数据,如果计数大于10并将该数据重新加载到表视图中。为了获得更多数据,我有服务来实现。 任何人都可以帮忙。 希望了解我的问题,对不起,如果有任何错误。 谢谢你的帮助。

4 个答案:

答案 0 :(得分:4)

在您设置行的以下委托中添加一行

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return yourMutableArray.count+1;
}

以下委托告诉您当前正在创建哪个单元格。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath;

在此下,您可以添加检查条件,如

if(indexPath.row > yourMutableArray.count)
{

  // This means you are at the end of your table
  // Call your webservice here and append the next set of data into the yourMutableArray
  // You can also show an activity indicator over the extra cell here, Indicating the loading of new data
   [self performSelector:@selector(getDataFromWebservice) withObject:nil afterDelay:1.0];
}
else
{
  // Do your cell settings here
}

在您的代码中您检查webserivce成功的位置添加以下行以重新加载表

[yourTable reloadData];

确保将新数据附加到MutableArray中,否则表将仅显示来自Web服务的最新数据。 希望,这对你有所帮助。

答案 1 :(得分:1)

您可以在此处看到UITableView中“加载更多”的工作原理

http://www.cocoacontrols.com/platforms/ios/controls/stableviewcontroller

答案 2 :(得分:0)

当cellForRowAtIndexPath中的count大于10时,则nil服务Array,重新启动它并添加新的数据值来自服务调用,然后重新加载tableView。我想这会对你有所帮助。如果你仍然有问题。告诉我

答案 3 :(得分:0)

非常感谢您的所有答案,他们也帮助我了解其他情况。 我通过添加页面视图的页脚视图来解决这个问题,在页脚视图中我添加了按钮,最后在按钮操作中我调用了更多数据的服务,然后数据将在[tableView reloadData]的帮助下重新加载新数据] 方法。 希望这可能对其他人有所帮助。