Перезагрузите определенную ячейку UITableView в iOS
У меня есть UITableView
. Я хочу обновить данные таблицы на основе сделанного выбора. Прямо сейчас я использую [mytable reloadData]
; Я хочу знать, есть ли способ, когда я могу просто обновить выбранную ячейку. Могу ли я изменить с помощью NSIndexPath или других? Любые предложения?
Спасибо.
Ответы
Ответ 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