Objective C error [__NSCFNumber length]:发送到实例的无法识别的选择器

时间:2014-12-01 22:00:17

标签: ios objective-c uitableview

我正在编写一个基于tableView的应用程序。当我在tableView中使用默认单元格时,一切都很完美。当我尝试制作海关单元时,我有这个错误:

2014-12-01 22:50:01.690 Signaturegourmande[15701:624637] -[__NSCFNumber length]: unrecognized selector sent to instance 0xb0000000000000c3
2014-12-01 22:50:01.716 Signaturegourmande[15701:624637] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFNumber length]: unrecognized selector sent to instance 0xb0000000000000c3'

当我有这个代码时,应用程序可以运行:

static NSString *simpleTableIdentifier = @"SimpleTableItem";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier];

    if (cell == nil) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:simpleTableIdentifier];
    }

    cell.textLabel.text = [nomData objectAtIndex:indexPath.row];
    return cell;

我用以下代码替换代码时出错:

static NSString *simpleTableIdentifier = @"ProduitCell";
    ProduitCell *cell = (ProduitCell *)[tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier];
    if (cell == nil)
    {
        NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"ProduitCell" owner:self options:nil];
        cell = [nib objectAtIndex:0];
    }

    cell.nameLabel.text = [nomData objectAtIndex:indexPath.row];
    cell.thumbnailImageView.image = [UIImage imageNamed:[urlData objectAtIndex:indexPath.row]];
    cell.priceLabel.text = [prixData objectAtIndex:indexPath.row];

    return cell;

我创建了一个类" ProduitCell"用" .h"和" .m",我的.h文件中有3个属性。我已经在我的storyBoard中将这些属性与我的Xib中的正确单元格项链接在一起。

感谢您的帮助。

2 个答案:

答案 0 :(得分:7)

检查以下行,如果是NSNumber班级类型,请使用stringValue在下面进行更改: -

cell.priceLabel.text = [[prixData objectAtIndex:indexPath.row]stringValue];

答案 1 :(得分:0)

我做到了:

cell.priceLabel.text = [NSString stringWithFormat:@"%@",[prixData objectAtIndex:indexPath.row]];

感谢。