Как устранить эту ошибку: локальное объявление ‘indexPath’ скрывает переменную экземпляра

У меня есть создать проект. При этом используются методы tableview. Я запустил этот проект, поэтому запуск успешно. И работает хорошо, но у меня есть некоторые проблемы создать. Я много раз пытался, но не решил. поэтому, пожалуйста, предложите мне, как это решить.

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

LocationCell *cell = [tableView dequeueReusableCellWithIdentifier:@"htrcell"];
if (cell==nil)
{
    NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"Cell" owner:self options:nil];
    cell = [nib objectAtIndex:0];
}
[cell.location_lbl setTitle:location[indexPath.row]forState:UIControlStateNormal] ;

cell.backgroundColor=[UIColor clearColor];
cell.bg_view.layer.cornerRadius = 20;
cell.bg_view.layer.masksToBounds = YES;
cell.bg_view.backgroundColor = [[UIColor colorWithRed:20.0/255 green:100.0/255 blue:171.0/255 alpha:0.7f] colorWithAlphaComponent:0.7f];

////////////////
[cell.map addTarget:self action:@selector(buttonClickedMap:) forControlEvents:UIControlEventTouchUpInside];
[cell.map setTag:indexPath.row];    

[cell.phone addTarget:self action:@selector(buttonClickedPhone:) forControlEvents:UIControlEventTouchUpInside];
[cell.phone setTag:indexPath.row];

[cell.location_lbl addTarget:self action:@selector(buttonClickedlocation:) forControlEvents:UIControlEventTouchUpInside];
[cell.location_lbl setTag:indexPath .row];


return cell;
}

В этом cellForRowAtIndexPathметоде все indexPathместа для отображения проблем. Как эта линия в этом

[cell.location_lbl setTitle:location[indexPath.row]forState:UIControlStateNormal]; 

indexPath место для показа проблем:

Локальное объявление indexPathпеременной экземпляра hides.

Как решить мою проблему.
Спасибо

2 ответа

  1. Если в какой-то момент его локальное объявление «yourVairableName» скрывает переменную экземпляра, это означает, что вы создали имя локальной переменной, такое же, как переменная экземпляра.

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