-4

我以前认为我可以用一个简单的数组计数来回答这个问题(我的错误)。我正在尝试向 tableView 没有结果的用户 id 显示警报。我不能简单地将计数放在 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,请随时取消投票 - 这个问题大量的反对票让我失去了提问的能力......

4

3 回答 3

2
NSInteger count = [array count];
于 2013-03-05T06:51:20.393 回答
2

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

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

于 2013-03-05T08:21:43.167 回答
1

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

正确的方法是reloadDataconnectionDidFinishLoading使用 URL 请求的响应更新数据源之后调用。此时您知道行数是否为零,并且无需等待表视图更新完成。

于 2013-03-05T10:26:04.473 回答