我CLLocationManager
在应用程序中。所以我需要的是知道用户是否允许或拒绝当前位置的方法。根据用户回答 TableController 以特定方式在表中添加值。我尝试过[sightsTableView reloadData];
,
- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation
但在我选择允许或拒绝后,tableview 没有重新加载。我检查了 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;
}
更新:实际上重新加载没有问题。我知道刷新表视图有问题。如果我开始滚动表格单元格显示新值。
第二次更新
现在表正在刷新。问题是我如何打电话UITableView
。我用过[tempTableView reloadData];
,但它对我不起作用,所以我尝试使用它[self.tableView reloadData];
,现在它正在重新加载值并刷新它。