我在我的UITableViewCell
上有兩個UILabels
。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