问题描述
我有一个 tableView 并且需要在重新加载 tableView 后执行一个功能.我怎么知道 reloadData 是否已经完成?假设我有填充tableView 的methodA,一旦[tableView1 reloadData] 完成,我想调用methodB.谁能帮我这个?我一直在寻找几个小时...谢谢!
- (void) methodA { NSString *URLa = [NSString stringWithFormat:@"http://www.website.com/page.php? v1=%@&v2=%@&v3=%@",v1, v2, v3]; NSURL *url = [NSURL URLa]; NSURLRequest *request = [NSURLRequest requestWithURL:url]; (void) [[NSURLConnection alloc] initWithRequest:request delegate:self]; [tableView1 reloadData]; }
推荐答案
问题是你在启动URL请求后立即调用reloadData.这没有任何意义,因为此时请求尚未完成.
正确的方法是在使用来自 URL 请求的响应更新数据源之后,在 connectionDidFinishLoading 中调用 reloadData 和 methodB.此时您就知道行数是否为零,并且无需等待表格视图更新完成.