我是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
。
答案 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];
}
}];
如果要显示大图像,请将UIImageView
和UILabel
添加到单元格并为其分配数据。或者,您可以创建包含UIImageView
和UILabel
的自定义单元格。
答案 1 :(得分:1)
如果你确定你的数组包含PromotionTbl,你可以将数组中的对象强制转换为PromotionTbl并访问它的值。
PromotionTbl *order = (PromotionTbl*)[array objectAtIndex:indexPath.row];
cell.textLabel.text = order.promoName;
答案 2 :(得分:0)
您需要获取PromotionTbl的对象,然后才能访问模型的属性。
xhost +