У меня есть таблица, содержимое которой генерируется с помощью массива json. Он также использует службы определения местоположения, поэтому при изменении местоположения пользователей таблица перезагружается для отражения изменений данных таблицы относительно местоположения пользователей.
Моя проблема в том, что я показываю индикатор активности в начале загрузки представления, но каждый раз, когда местоположение обновляется и таблица перезагружается, отображается индикатор. Это делается в очень короткие промежутки времени, вызывая сбой приложения.
Можно ли поместить условие в следующий код, чтобы он не показывал MBProgressHUD, если это не начальная загрузка, а перезагрузка, вызванная изменениями местоположения?
// Customize the number of rows in the table view.
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
HUD = [[MBProgressHUD alloc] initWithView:self.navigationController.view];
[self.navigationController.view addSubview:HUD];
[HUD showWhileExecuting:@selector(myTask) onTarget:self withObject:nil animated:YES];
return [rows count];
}
Здесь выполняется перезагрузка:
- (void)locationManager:(CLLocationManager *)manager
didUpdateToLocation:(CLLocation *)newLocation
fromLocation:(CLLocation *)oldLocation
{
NSString *lat = [NSString stringWithFormat:@"%f", newLocation.coordinate.latitude];
NSString *longt = [NSString stringWithFormat:@"%f", newLocation.coordinate.longitude];
//CGFloat Alat = [lat floatValue];
//CGFloat Alon = [longt floatValue];
self.aalat = lat;
self.aalon = longt;
// NSLog(@"anlat: %@", aalat);
// NSLog(@"anlong: %@", aalon);
[[NSUserDefaults standardUserDefaults] setObject:aalat forKey:@"latitude"];
[[NSUserDefaults standardUserDefaults] setObject:aalon forKey:@"longitude"];
[tableview reloadData];
}