将dbmanager数据填充到UITableView中

时间:2015-11-16 05:58:16

标签: ios objective-c iphone uitableview

我是iOS开发的新手。 这是小型餐厅类型的应用程序。取决于餐厅,它将填充促销活动。 到目前为止,我已经做了所有这些,并在viewdidLoad方法中获得了对数组的提升列表。

if (!dbmanager)dbmanager = [[DBManager alloc]init];
    array = [dbmanager getPromotions:[NSNumber numberWithInt:restId]];
    NSLog(@"%lu", (unsigned long)array.count);

并使用此我可以将促销详细信息的详细信息记录到日志中

for (PromotionTbl *order in array) {
        NSLog(@"%@",order.promoName);
    }

我想在tableview中填充这些数据,所以我已经完成了tableview的正常实现和

像这样添加单元格

cell.textLabel.text = [[array objectAtIndex:indexPath.row]objectForKey:@"promoName"];

但我得错误说

2015-11-16 11:20:35.825 Eatin[2858:1201859] -[PromotionTbl objectForKey:]: unrecognized selector sent to instance 0x7ffb507b3ab0 2015-11-16 11:20:35.834 Eatin[2858:1201859] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[PromotionTbl objectForKey:]: unrecognized selector sent to instance 0x7ffb507b3ab0'

我也没有objectForKey

3 个答案:

答案 0 :(得分:1)

要将数据显示到单元格中,请执行以下操作:

PromotionTbl *order = [array objectAtIndex:indexPath.row];
cell.textLabel.text = order.promoName;
cell.imageView.image = order.promotionImage; // If you want to display as a logo or thumbnail

// If you have image URL and download image from it and then display
[NSURLConnection sendAsynchronousRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:order.promotionImageURL]] queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) {

    if (data)
    {
        cell.imageView.image = [[UIImage alloc] initWithData:data];
    }
}];

如果要显示大图像,请将UIImageViewUILabel添加到单元格并为其分配数据。或者,您可以创建包含UIImageViewUILabel的自定义单元格。

答案 1 :(得分:1)

如果你确定你的数组包含PromotionTbl,你可以将数组中的对象强制转换为PromotionTbl并访问它的值。

PromotionTbl *order = (PromotionTbl*)[array objectAtIndex:indexPath.row];
cell.textLabel.text = order.promoName;

答案 2 :(得分:0)

您需要获取PromotionTbl的对象,然后才能访问模型的属性。

xhost +