我在如何在表视图中重新加载数据时遇到困难,例如,我从服务获得响应计数10.现在我需要获得额外的数据,如果计数大于10并将该数据重新加载到表视图中。为了获得更多数据,我有服务来实现。 任何人都可以帮忙。 希望了解我的问题,对不起,如果有任何错误。 谢谢你的帮助。
答案 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]的帮助下重新加载新数据] 方法。 希望这可能对其他人有所帮助。