如果tableView没有结果,则显示警报

时间:2013-03-05 06:50:02

标签: iphone ios objective-c xcode

我以前认为我可以用一个简单的数组计数来回答这个问题(我的错误)。我试图向用户id显示警告,tableView没有结果。我不能简单地将计数放在viewDidAppear方法中,因为填充JSON和tableView的Web查询需要几秒钟来填充。我不能简单地把它放在:

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

    if([indexPath row] == ((NSIndexPath*)[[tableView indexPathsForVisibleRows] 
    lastObject]).row){
    //loading complete
    }
}

因为如果没有结果,在此方法中不会调用任何内容。有没有人对此有任何建议 - 已经搜索了超过4个小时,几乎把我所有的头发拉了出来。

如果这些问题更适合SO,请随意取消选择 - 这个问题大量的downvotes让我失去了提问的能力......

3 个答案:

答案 0 :(得分:2)

NSInteger count = [array count];

答案 1 :(得分:2)

NSlog("数组计数:%d",[数组计数];

这将为您提供控制台中的数组计数。

答案 2 :(得分:1)

您无法检查viewDidAppear中的行数,因为异步NSURLConnection用于获取填充表视图的JSON数据。

正确的方法是在使用来自网址请求的响应更新数据源后,在reloadData中调用connectionDidFinishLoading。此时,您知道行数是否为零,并且无需等待以使表视图更新完成。