(iphone) как обновить только одну строку в табличном представлении - PullRequest
1 голос
/ 31 августа 2011

У меня есть tableview, и я буду обновлять данные в tableview .it данных о приеме каждую секунду, когда данные будут получены, они заменят старые данные в одной строке. Я делаю так: когда данные получены, я звоню

[m_tableView reloadData];

итак, будет звонить

-(UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath  *)indexPath{ }

, поэтому я буду изменять конкретные данные строки в этом методе, но как я могу установить row index?

Ответы [ 5 ]

5 голосов
/ 31 августа 2011

Вы пробовали

- (void)reloadRowsAtIndexPaths:(NSArray *)indexPaths withRowAnimation:(UITableViewRowAnimation)animation

Swift

func reloadRows(at indexPaths: [IndexPath], with animation: UITableView.RowAnimation)

Это позволит вам перезагрузить одну строку.

Метод reloadData перезагружает всю таблицу

1 голос
/ 31 августа 2011

Насколько я понимаю, этот метод будет вызываться для каждого UITableViewCell, который виден при вызове ReloadData.

Если вы обновили базовый datasource, ячейка, содержащая ваши данные, будет обновлена.

0 голосов
/ 31 августа 2011

В этом методе

-(UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ }

Вы можете написать этот код для обновления только определенной строки всякий раз, когда вы вызываете метод reloadData. Вот так

if(indexPath.row==2){
     cell.textLabel.text=@"New updated Value";
 }

Это будет обновлять только третий ряд, каждый раз.

Надеюсь, это поможет.

0 голосов
/ 31 августа 2011

Если вы пытаетесь перезагрузить определенную строку

- (void)reloadRowsAtIndexPaths:(NSArray *)indexPaths withRowAnimation:(UITableViewRowAnimation)animation

Из яблочной документации

Параметры indexPaths Массив объектов NSIndexPath, идентифицирующих строки для перезагрузки. анимация Константа, которая указывает, как должна быть анимирована перезагрузка, например, исчезнуть или выдвинуться снизу. См. «Анимация вставки и удаления ячеек таблицы» для описания этих констант. Константа анимации влияет на направление скольжения старых и новых строк. Например, если константой анимации является UITableViewRowAnimationRight, старые строки выдвигаются вправо, а новые ячейки - справа.

0 голосов
/ 31 августа 2011

Просто присвойте строку целому числу, и вы можете получить к нему доступ из этого метода.

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