Подтвердить что ты не робот

Как перезагрузить UITableView, пока я смотрю на него

Когда у меня есть UITableView как часть видимого контроллера представления, как я могу его перезагрузить, чтобы данные, которые я просматриваю, изменяли новые данные. Просто перезагрузка вызова, похоже, не обновляет данные, пока я не прокручу их.

4b9b3361

Ответ 1

Вызов метода reloadData обновляет данные, как только вызывается метод. Он не ждет прокрутки таблицы. Перед вызовом reloadData убедитесь, что источник данных (массив или словарь или везде, где вы сохранили значения) изменили.

Ответ 2

Обновляете ли вы данные из основного потока? Если это так, вам нужно вызвать метод reloadData, используя следующий метод:

- (void)performSelectorOnMainThread:(SEL)aSelector withObject:(id)arg waitUntilDone:(BOOL)wait

Итак, для tableView это будет:

[tableView performSelectorOnMainThread:@selector(reloadData) withObject:nil waitUntilDone:NO];

Ответ 3

Просто обновление 2013 года, вы также сможете перезагрузить данные, пока вы используете

dispatch_async(dispatch_get_main_queue(), ^{
    [self.tableView reloadData];
});

GCD потрясающий!

Ответ 4

Следующий код поможет вам перезагрузить таблицу, когда вы смотрите, что:

[self.tableView reloadData];