UITableView ne remplit pas lors de l'attente pour la méthode de didUpdateToLocation de CLLocationManagerDelegate sur iPhone SDK

StackOverflow https://stackoverflow.com/questions/707766

Question

Je suis en train de remplir un UITableView avec un réseau de cellules. Je fais habituellement ce de la méthode viewDidLoad mais cette fois je veux remplir le tableau en fonction de l'emplacement. Ci-dessous la première ligne de mon interface:

@interface RootViewController : UITableViewController 
<UITableViewDelegate, UITableViewDataSource, CLLocationManagerDelegate> {

Dans le fichier de mise en œuvre de la méthode viewDidLoad ressemble à ceci:

- (void)viewDidLoad {

    // for location
    self.locationManager = [[CLLocationManager alloc] init];
    [locationManager startUpdatingLocation];
    locationManager.delegate = self;
    locationManager.distanceFilter = kCLDistanceFilterNone; 
    locationManager.desiredAccuracy = kCLLocationAccuracyBest;


    [super viewDidLoad];
}

I peupler la matrice de cellules dans le procédé de didUpdateToLocation:

    self.title = @"Open Buildings";

NSMutableArray *buildingArray = [[NSMutableArray alloc] initWithObjects:building1, 

self.controllers = array;

Le titre des mises à jour de vue lorsque l'emplacement se trouve, mais le tableau ne remplit pas. Le tableau ne remplir avant quand j'avais le code ci-dessus dans le viewdidupdate. Je devais passer à la méthode de didupdatelocation car l'application ne sera pas avoir l'informations sur la position lors du chargement de vue dans la méthode viewDidLoad.

Était-ce utile?

La solution

Votre point de vue de la table ne sait pas que vous avez de nouvelles données. Donc, une fois que vous avez les nouvelles données, vous devez indiquer votre point de vue de la table pour recharger:

[myTableView reloadData];
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top