iPhone - 3 UITableViews с пользовательской ячейкой - PullRequest
0 голосов
/ 11 января 2011

У меня есть представление с 3 представлениями таблицы.Каждое табличное представление будет использовать одно «Пользовательское представление ячейки».Я использую следующий код.Но это показывает только один вид таблицы.Кто-нибудь может указать мне, почему?(Все массивы заполнены необходимыми объектами)

- (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;}

Ответы [ 2 ]

0 голосов
/ 12 января 2011

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

0 голосов
/ 11 января 2011

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...