2011-01-11 116 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創建單獨的單元格並重用它們。