Ответ 1
Вызов метода reloadData
обновляет данные, как только вызывается метод. Он не ждет прокрутки таблицы. Перед вызовом reloadData
убедитесь, что источник данных (массив или словарь или везде, где вы сохранили значения) изменили.
Когда у меня есть UITableView как часть видимого контроллера представления, как я могу его перезагрузить, чтобы данные, которые я просматриваю, изменяли новые данные. Просто перезагрузка вызова, похоже, не обновляет данные, пока я не прокручу их.
Вызов метода reloadData
обновляет данные, как только вызывается метод. Он не ждет прокрутки таблицы. Перед вызовом reloadData
убедитесь, что источник данных (массив или словарь или везде, где вы сохранили значения) изменили.
Обновляете ли вы данные из основного потока? Если это так, вам нужно вызвать метод reloadData, используя следующий метод:
- (void)performSelectorOnMainThread:(SEL)aSelector withObject:(id)arg waitUntilDone:(BOOL)wait
Итак, для tableView это будет:
[tableView performSelectorOnMainThread:@selector(reloadData) withObject:nil waitUntilDone:NO];
Просто обновление 2013 года, вы также сможете перезагрузить данные, пока вы используете
dispatch_async(dispatch_get_main_queue(), ^{
[self.tableView reloadData];
});
GCD потрясающий!
Следующий код поможет вам перезагрузить таблицу, когда вы смотрите, что:
[self.tableView reloadData];