UITableView no llena cuando se espera para el método didUpdateToLocation CLLocationManagerDelegate 's en el iPhone SDK

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

Pregunta

Estoy intentando rellenar una UITableView con una matriz de células. Yo suelo hacer esto desde el método viewDidLoad pero esta vez quiero para rellenar la matriz basada en la localización. A continuación se muestra la primera línea de mi interfaz:

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

En el archivo de implementación del método viewDidLoad se parece a esto:

- (void)viewDidLoad {

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


    [super viewDidLoad];
}

I rellenar la matriz de las células en el método didUpdateToLocation:

    self.title = @"Open Buildings";

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

self.controllers = array;

El título de la actualización de las vistas cuando se encuentra la ubicación, pero la matriz no llena. La matriz se pueblan antes cuando tuve el código anterior en el viewdidupdate. Me tuve que cambiar al método didupdatelocation porque la aplicación no tendrá la información de ubicación cuando la vista cargas en el método viewDidLoad.

¿Fue útil?

Solución

Su vista de tabla no se sabe que tiene nuevos datos. Así, una vez que tenga los nuevos datos, es necesario que informe a su vista de tabla para recargar:

[myTableView reloadData];
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top