У меня есть CLLocationManager
в приложении.Так что мне нужен метод, чтобы узнать, разрешил ли пользователь или отклонил текущее местоположение.По словам пользователей, ответ TableController добавляет значение в таблицу определенным образом.Я попытался [sightsTableView reloadData];
в
- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation
, но после того, как я выбрал разрешение или отклонение, просмотр таблицы не перезагружается.Я проверил ссылку Apple на CLLocation и не смог найти что-то полезное.UPD: вот пример кода.
- (void)viewDidLoad {
super viewDidLoad];
[[self locationManager] startUpdatingLocation];
[tempTableView reloadData];
}
- (CLLocationManager *)locationManager {
if (locationManager != nil) {
return locationManager;
}
locationManager = [[CLLocationManager alloc] init];
[locationManager setDesiredAccuracy:kCLLocationAccuracyNearestTenMeters];
[locationManager setDelegate:self];
return locationManager;
}
- (void)locationManager:(CLLocationManager *)manager
didUpdateToLocation:(CLLocation *)newLocation
fromLocation:(CLLocation *)oldLocation {
NSLog(@"User allow get location");
self.locationError = NO;
[tempTableView reloadData];
}
- (void)locationManager:(CLLocationManager *)manager
didFailWithError:(NSError *)error {
NSLog(@"User declined get location");
self.locationError = YES;
[tempTableView reloadData];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
.... some big code about a sells )...
cell.textLabel.text = array.title;
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
if(self.locationError == NO){
cell.detailTextLabel.text = @"!";
}
return cell;
}
UPDATE : На самом деле проблем с перезагрузкой нет.Я понял, что у меня проблема с обновлением таблицы.Если я начинаю прокручивать таблицу, ячейка показывает новое значение.
ВТОРОЕ ОБНОВЛЕНИЕ Теперь таблица обновляется.Проблема заключалась в том, как я позвонил UITableView
.Я использовал [tempTableView reloadData];
, но он не работал для меня, поэтому я попытался использовать это [self.tableView reloadData];
, и теперь это ПЕРЕЗАГРУЗКА значений и ОБНОВЛЕНИЕ.