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

Перезагрузите определенную ячейку UITableView в iOS

У меня есть UITableView. Я хочу обновить данные таблицы на основе сделанного выбора. Прямо сейчас я использую [mytable reloadData]; Я хочу знать, есть ли способ, когда я могу просто обновить выбранную ячейку. Могу ли я изменить с помощью NSIndexPath или других? Любые предложения?

Спасибо.

4b9b3361

Ответ 1

Для iOS 3.0 и выше вам просто нужно позвонить:

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

Чтобы перезагрузить строку 3 раздела 2 и строку 4 раздела 3, например, вам нужно будет сделать это:

// Build the two index paths
NSIndexPath* indexPath1 = [NSIndexPath indexPathForRow:3 inSection:2];
NSIndexPath* indexPath2 = [NSIndexPath indexPathForRow:4 inSection:3];
// Add them in an index path array
NSArray* indexArray = [NSArray arrayWithObjects:indexPath1, indexPath2, nil];
// Launch reload for the two index path
[self.tableView reloadRowsAtIndexPaths:indexArray withRowAnimation:UITableViewRowAnimationFade];

Ответ 2

Вы также можете получить ссылку на объект UITableViewCell и изменить его метки и т.д.

UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:indexPath];
cell.textLabel.text = @"Hey, I've changed!";

Ответ 3

Я думаю, что вы ищете этот метод UITableView:

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