2011-01-11 2 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

+0

Да, все три видны одновременно. для всех делегатов таблиц и источников данных. количество разделов в представлении таблицы равно 1, а количество строк - количество массивов. – Satyam

ответ

0

У вас есть 2 варианта.

  1. Установить свойство тега на вашем столеПросмотры и методы dataSource и Delegates для этого тега.
  2. Сделайте 3 объекта, и каждый объект, заданный для него, является конкретным делегатом таблицыViewView и источником данных и поместит ваш код в эти объекты.

Надеюсь, что это поможет. Если вы добавите все источники данных и методы делегирования, люди попытаются помочь.

+0

для варианта 1: я просматриваю таблицу непосредственно так, как помогают теги. И для варианта 2: я не думаю, что это правильный путь. – Satyam

0

Проблема может быть связана с идентификатором повторного использования. Так как вы используете ячейку с тем же идентификатором для всех табличных представлений, я думаю, что это является причиной проблемы. У меня также была проблема, исправленная с таким же образом. Создавайте отдельные ячейки для каждого вида таблицы с другим идентификатором и повторно используйте их.

Смежные вопросы