У меня есть два UILabels
на моем UITableViewCell
.TableViewCell не показывает данные в первый раз
Я использую раскадровку и у меня есть эти метки в пользовательской ячейке, как показано ниже:
Мой cellForRowAtIndex
метод:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *simpleTableIdentifier = @"cell";
NSLog(@"index = %ld",indexPath.row); //This logs correct 0,1,2 ..and so on
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:simpleTableIdentifier];
}
UILabel *lblCellTitle = (UILabel*)[self.view viewWithTag:1];
UILabel *lblCellDetail = (UILabel*)[self.view viewWithTag:2];
lblCellTitle.text = [arrtableDataHeading objectAtIndex:indexPath.row]; //this array contain valid values
lblCellDetail.text = [filterdInfo objectAtIndex:indexPath.row]; //this array contain valid values
return cell;
}
Моя проблема, когда первый раз я открываю мой контроллер данные показаны из второго индекса, а в последнем я вижу имя пользовательской метки, как показано ниже:
И когда я прокручиваю, обновляются только данные и в случайном порядке я не могу получить данные в правильном порядке.
Когда я отлаживаю когда indexPath
0 прицел, получающий нуль в UILabel
, но когда он становится 1, я получаю правильное значение.
Некоторые один сказал мне, используя cell.ContentView вместо self.view решит мою проблему. Но я смущен. Как это может быть.
Вы установили идентификатор ячейки в Storyboard ("cell")? – Mahesh
Да, я установил, что @Mahesh – NSUser