Как перезагрузить UITableView, пока я смотрю на него - PullRequest
30 голосов
/ 19 марта 2009

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

Ответы [ 4 ]

35 голосов
/ 19 марта 2009

Вызов метода reloadData обновляет данные, как только метод вызывается. Не ждет прокрутки таблицы. Перед вызовом reloadData.

убедитесь, что источник данных (массив или словарь или где вы сохранили значения) изменился.
33 голосов
/ 06 августа 2010

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

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

Так что для tableView это будет:

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

20 голосов
/ 21 мая 2013

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

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

GCD - это круто!

0 голосов
/ 19 марта 2014

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

[self.tableView reloadData];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...