在加载 tableView 时我将如何运行一些代码。这是我认为可能有效的方法:
while ([self.tableView reloadData]) {
do something
}
我想在表加载时运行 UIActivityIndicator,然后在加载数据后消失。
谢谢你的帮助
在加载 tableView 时我将如何运行一些代码。这是我认为可能有效的方法:
while ([self.tableView reloadData]) {
do something
}
我想在表加载时运行 UIActivityIndicator,然后在加载数据后消失。
谢谢你的帮助
如果您只想在表加载时运行活动指示器:
[indicator startAnimating];
[self.tableView reloadData];
[indicator stopAnimating];
那是假设您有一个称为指示器的 UIActivityIndicator,并且它的 hidesWhenStopped 属性设置为 YES。
如果您想做其他类型的工作,您很可能需要在单独的线程、调度队列等中完成这项工作。
不完全确定,但看起来你可以这样做:
activityIndicator.hidesWhenStopped = true;
[activityIndicator startAnimating];
[tableView reloadData];
[self performSelector:@selector(updateFinished) withObject:nil afterDelay:0];
updateFinished 只是调用的地方
[activityIndicator stopAnimating].
如果我没记错的话,你正在主线程上做所有事情。每个线程都有它的运行循环,用户的方法、动画、输入处理、计时器和类似的东西在循环中执行。在您正在执行某些用户的代码时,调用 reloadData 安排表动画在方法结束后执行,而不是通过使用具有延迟 0 的 performSelector 来安排要结束的活动指示器动画。