UITableView nicht füllen, wenn für CLLocationManagerDelegate ‚s didUpdateToLocation Methode auf dem iPhone SDK warten

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

Frage

Ich versuche, ein UITableView mit einer Reihe von Zellen zu füllen. Ich tue dies in der Regel von der viewDidLoad Methode aber dieses Mal möchte ich das Array vor Ort basierend aufzufüllen. Im Folgenden finden Sie die erste Zeile meiner Schnittstelle:

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

In der Implementierungsdatei sieht die viewDidLoad Methode wie folgt:

- (void)viewDidLoad {

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


    [super viewDidLoad];
}

ich bevölkern die Anordnung von Zellen in der didUpdateToLocation Methode:

    self.title = @"Open Buildings";

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

self.controllers = array;

Der Titel der Ansicht aktualisiert, wenn Standort gefunden wird, aber das Array bevölkert nicht. Das Array hat bevölkert vor, wenn ich den obigen Code in der viewdidupdate hatte. Ich hatte es auf die didupdatelocation Methode zu bewegen, weil die Anwendung nicht die Informationen über den Standort, wenn die Sicht Lasten im viewDidLoad Verfahren.

War es hilfreich?

Lösung

Ihre Tabellenansicht nicht weiß, Sie neue Daten haben. Also, wenn Sie die neuen Daten haben, müssen Sie Ihre Tabellenansicht sagen, neu zu laden:

[myTableView reloadData];
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top