2011-01-11 73 views
0

我有3个表格视图的视图。每个表格视图将使用一个“自定义单元视图”。我使用下面的代码。但它只显示一个表格视图。有人能指出我为什么吗? (所有阵列都充满必要的物体)iPhone - 3自定义单元格的UITableViews

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 
static NSString* cellID = @"CustomSyncCell"; 
CustomCellView* cell = (CustomCellView*)[tableView dequeueReusableCellWithIdentifier:cellID]; 

if(cell == nil) 
{ 
    NSArray* nibObjects = [[NSBundle mainBundle] loadNibNamed:@"CustomCellView" owner:nil options:nil]; 
    for(id currentObject in nibObjects) 
    { 
     if([currentObject isKindOfClass:[CustomCellView class]]) 
     { 
      cell = (CustomCellView*)currentObject; 
     } 
    }  
} 

ObjectDetails* obj; 
if(tableView == phoneNumbersTable) 
{ 
    obj = [phoneNumbersArray objectAtIndex:indexPath.row]; 
} 
else if(tableView == mailIDsTable) 
{ 
    obj = [mailIDsArray objectAtIndex:indexPath.row]; 
} 
else if(tableView == socialUpdatesTable) 
{ 
    obj = [socialUpdatesArray objectAtIndex:indexPath.row]; 
} 

cell.keyLabel.text = [self returnPhoneType:obj.objKey]; 
cell.valueLabel.text = obj.objValue;   

return cell;} 
+0

是否所有三个一次可见?是否为所有三个表视图设置了委托和数据源? numberOfSectionsInTableView和numberOfRowsInSection方法是什么样子的? – Anna 2011-01-11 15:52:25

+0

是的,所有这三个都是可见的。为所有的tableviews设置委托和数据源。表视图中的节数是1,行数是数组数。 – Satyam 2011-01-11 16:42:11

回答

0

您有2个选项。

  1. 在你的tableView和dataSource和Delegates方法测试标签上设置标签属性。
  2. 设置3个对象,每个对象设置为特定的tableView委托和数据源,并将您的代码放入该对象中。

希望有所帮助。如果您将添加所有数据源和委托方法,则更多人将尝试提供帮助。

0

问题可能与重用标识符有关。既然你所有的表视图都使用了相同标识符的单元格,我认为这是问题的原因。我也有这个问题以相同的方式修复它。为每个具有不同标识符的tableview创建单独的单元格并重用它们。