Я хочу изменить выбранные данные ячейки навсегда, как это было сделано в моем методе didSelectRowAtIndexPath
, но проблема в том, что когда я выбираю строку, данные ячейки изменяются, но когда я выбираю любую другую строку, предыдущая становится такой, какая была, и я также хотите сохранить строки в массиве, которые были выбраны в массиве. вот мой код прямо сейчас.Как изменить выбранные данные ячейки постоянно?
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
@try {
static NSString *cellidentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellidentifier];
if(cell == nil)
{
NSArray *cellObjects = [[NSBundle mainBundle] loadNibNamed:@"Cell" owner:self options:nil];
cell = (UITableViewCell*) [cellObjects objectAtIndex:0];
}
UILabel *label;
long row = [indexPath row];
label = (UILabel *)[cell viewWithTag:10];
label.text =time[row];
label.textColor = [UIColor blackColor];
cell.imageView.image = [img_clock_blue objectAtIndex:indexPath.row];
cell.backgroundColor = [UIColor yellowColor];
[tableView setSeparatorInset:UIEdgeInsetsZero];
//int hecValue;
return cell;
}
@catch (NSException *exception)
{
NSLog(@"%@",exception);
}
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
[tableView reloadData];
UITableViewCell *cell1 = (UITableViewCell *)[tableView cellForRowAtIndexPath:indexPath];
cell1.imageView.image = [UIImage imageNamed:@"1_red.png"];
cell1.backgroundColor = [UIColor clearColor];
}
Если вам нужно сохранить ранее выбранную ячейку, как она есть, вам нужно ее отслеживать. и теперь вы перезагружаете таблицу в 'didSelectRowAtIndexPath:', поэтому ранее выбранная будет перезагружена. – Akhilrajtr
@ Насир это происходит из-за того, что вы перегружаете табличное представление каждый раз после выбора дороги, просто удалите строку [tableView reloadData]; и попробуйте ... –