ошибка пользовательской таблицы - PullRequest
0 голосов
/ 30 января 2012

Я хочу работать с настраиваемой ячейкой таблицы.

У меня есть классы productTableViewCell. В моем xib я определил lblProduct, на этом ярлыке я хочу показать названия своих продуктов. Я синтезировал и правильно соединил его в своем xib.

Теперь в моем другом классе с моим табличным представлением в нем. Я сделаю это. Все мои продукты находятся в массиве Products.

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"Cell";

    productTableviewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {

        NSArray* views = [[NSBundle mainBundle] loadNibNamed:@"productTableviewCell" owner:nil options:nil];

        for (UIView *view in views) {
            if([view isKindOfClass:[UITableViewCell class]])
            {   
                cell = (productTableviewCell*)view;
            }
        }
    }
    NSString *cellValue = [arrayProducts objectAtIndex:indexPath.row];
    NSLog(@"value: %@", cellValue);
    cell.lblProduct.text = cellValue;

    //  NSDictionary *info = [json objectAtIndex:indexPath.row];
    //cell.lblProduct.text = [info objectForKey:@"Pro_naam"];

    return cell;

}

Но когда я запускаю его. Я получаю эту ошибку.

2012-01-30 10: 02: 40.032 MamzelBestelling2 [12923: f803] * Завершение приложение из-за необработанного исключения «NSUnknownKeyException», причина: '[setValue: forUndefinedKey:]: этот класс не значение ключа, соответствующее кодированию для ключа lblProduct. ' * Первый стек вызовов вызовов: (0x13c0052 0x1551d0a 0x13bff11 0x9b7032 0x928f7b 0x928eeb 0x943d60 0x23691a 0x13c1e1a 0x132b821 0x23546e 0x237010 0x4d9f 0xb0e0f 0xb1589 0x9cdfd 0xab851 0x56301 0x13c1e72 0x1d6a92d 0x1d74827 0x1cfafa7 0x1cfcea6 0x1cfc580 0x13949ce 0x132b670 0x12f74f6 0x12f6db4 0x12f6ccb 0x12a9879 0x12a993e 0x17a9b 0x2148 0x20a5) прекратить вызываемое выбрасывание исключения. Язык: авто; в настоящее время цель-C (GDB)

Кто-нибудь может помочь?

Ответы [ 2 ]

0 голосов
/ 30 января 2012

Если вы создали CustomTableViewCell, вы должны установить тег для «lblProduct», скажем, 100. И затем делать

UILabel *label=(UILabel *)[cell viewWithTag:100];
NSString *cellValue = [arrayProducts objectAtIndex:indexPath.row];
NSLog(@"value: %@", cellValue);
lblProduct.text = cellValue;

return cell;

Это будет работать !!!!

Для получения дополнительной информации http://developer.apple.com/library/ios/#documentation/userexperience/conceptual/TableView_iPhone/TableViewCells/TableViewCells.html#//apple_ref/doc/uid/TP40007451-CH7-SW1

0 голосов
/ 30 января 2012

вам не нужно сначала сохранять его в NSString. Попробуйте сделать это так:

cell.lblProduct.text = [arrayProducts objectAtIndex:indexPath.row];

Также убедитесь, что вы правильно сделали @property и @synthesize и подключили их в CustomCell xib

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