UITableView не заполняется при ожидании метода didUpdateToLocation от CLLocationManagerDelegate в iPhone SDK

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

Вопрос

Я пытаюсь заполнить UITableView массивом ячеек.Обычно я делаю это с помощью метода viewDidLoad, но на этот раз я хочу заполнить массив на основе местоположения.Ниже приведена первая строка моего интерфейса:

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

В файле реализации метод viewDidLoad выглядит следующим образом:

- (void)viewDidLoad {

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


    [super viewDidLoad];
}

Я заполняю массив ячеек методом didUpdateToLocation:

    self.title = @"Open Buildings";

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

self.controllers = array;

Заголовок представления обновляется при нахождении местоположения, но массив не заполняется.Массив действительно заполнялся раньше, когда у меня был приведенный выше код в viewdidupdate .Мне пришлось переместить его в метод didupdatelocation, потому что приложение не будет иметь информации о местоположении при загрузке представления в методе viewDidLoad.

Это было полезно?

Решение

Ваше табличное представление не знает, что у вас есть новые данные.Итак, как только у вас появятся новые данные, вам нужно сообщить вашему табличному представлению о перезагрузке:

[myTableView reloadData];
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top