我从viewWillAppear直接填充核心数据的tableview。我还添加了一个UIActivityIndicator来创建和动画。获取数据并对其进行排序后,我调用stopAnimating。但是旋转器没有被移除。
以下是相关代码:
-(void)sort{
NSSortDescriptor *sortDescriptor;
sortDescriptor = [[[NSSortDescriptor alloc] initWithKey:@"distance" ascending:YES] autorelease];
NSArray *sortDescriptors = [NSArray arrayWithObject:sortDescriptor];
NSArray *sortedArray;
sortedArray = [self.annotationsToSort sortedArrayUsingDescriptors:sortDescriptors];
self.annotationsToSort = [(NSArray*)sortedArray mutableCopy];
//[self.tableView reloadData];
[self.tableView performSelector:@selector(reloadData) withObject:nil afterDelay:2.5];
}
- (void)reloadData {
[self.tableView reloadData];
//set activity bar #UPDATETOIPAD
[spinner stopAnimating];
}
出现微调器,但不会被移除。
tableview的生命周期是这样的:
答案 0 :(得分:0)
您在排序后调用以下代码:
[self.tableView performSelector:@selector(reloadData) withObject:nil afterDelay:2.5];
您正在self.tableView上执行reloadData而不是self(在tableView上调用reloadData +隐藏微调器)
尝试致电
[self performSelector:@selector(reloadData) withObject:nil afterDelay:2.5];
并确保您的微调器隐藏时,将搜索属性设置为YES