gpt4 book ai didi

ios - 重新加载数据后不显示 UITableView

转载 作者:搜寻专家 更新时间:2023-10-30 20:18:36 26 4
gpt4 key购买 nike

我的 tableView 有一个奇怪的问题。我通过 JSON 将数据加载到我的 tableView 中。在另一个类中从 Web 请求 JSON 时,我在当前 View 中显示了一个事件指示器 View ,并且隐藏了 tableView。我有一个委托(delegate)方法,一旦 json 准备好就会调用它。

-(void)didReceivePlayers:(NSArray *)players {
[activityIndicator stopAnimating];
tableViewPlayers.hidden = false;
startButton.hidden = false;
playersData = [[NSMutableArray alloc] initWithArray:players];
[tableViewPlayers reloadData];
NSLog(@"done reloading");
}

该方法正在被完美调用。代码非常简单。我隐藏我的事件指示器并显示我的 tableView。然后我调用 reloadData。只需几毫秒。但是在 reloadData 之后,我的 activityIndi​​cator 仍然显示,并且需要几秒钟才能显示我的 tableview,尽管 nslog 会立即被调用。

我也试过在 mainThread 中调用重新加载数据,但这并没有改变任何事情。

感谢您的帮助!

最佳答案

确保代码在主线程上执行。您可以像这样使用主操作队列:

-(void)didReceivePlayers:(NSArray *)players {

[[NSOperationQueue mainQueue] addOperationWithBlock:^{
[activityIndicator stopAnimating];
tableViewPlayers.hidden = false;
startButton.hidden = false;
playersData = [[NSMutableArray alloc] initWithArray:players];
[tableViewPlayers reloadData];
NSLog(@"done reloading");
}];

}

关于ios - 重新加载数据后不显示 UITableView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19744933/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com