não UITableView não preencher quando esperando método didUpdateToLocation 's CLLocationManagerDelegate no iPhone SDK

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

Pergunta

Eu estou tentando preencher um UITableView com uma variedade de células. Eu costumo fazer isso a partir do método viewDidLoad mas desta vez eu quero para preencher a matriz baseada em localização. Abaixo é a primeira linha de minha interface:

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

No arquivo de implementação o método viewDidLoad esta aparência:

- (void)viewDidLoad {

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


    [super viewDidLoad];
}

I preencher a matriz de células no método didUpdateToLocation:

    self.title = @"Open Buildings";

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

self.controllers = array;

O título das atualizações vista quando o local é encontrado, mas a matriz não preenche. A matriz fez populate antes, quando eu tinha o código acima na viewdidupdate. Eu tive que movê-lo para o método didupdatelocation porque o aplicativo não terá a informações de localização quando a vista cargas no método viewDidLoad.

Foi útil?

Solução

A sua exibição tabela não sabe que tem novos dados. Assim, uma vez que você tem os novos dados, você precisa dizer a sua visão mesa para recarga:

[myTableView reloadData];
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top