我是appdesign和Objective-C的新手。我正在写一个简单的食物应用程序,其中有一些食物存储在一个数组中,其中包含食物,食物名称,烹饪时间和文件名的详细信息。
我正在尝试使用副标题,但它没有显示出来。我已经阅读了其他各种帖子,并试图实现一些答案,但没有一个有效。
这是我的代码,如果有任何明显不正确的请告诉我。谢谢。
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
static NSString *CellIdentifier = @"FoodCell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
if (cell == nil){
cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier];
}
Food *current = [foodArray objectAtIndex:indexPath.row];
[cell.textLabel setText:[current name]];
[[cell detailTextLabel] setText:@[current cookTime]];
cell.imageView.image = [UIImage imageNamed:[current fileName]];
return cell;
}
答案 0 :(得分:2)
替换
[[cell detailTextLabel] setText:@[current cookTime]];
与
[[cell detailTextLabel] setText:[current cookTime]];
请注意,这假设cookTime
是NSString
。如果它是其他东西,比如代表分钟的整数,你会做这样的事情:
[[cell detailTextLabel] setText:[NSString stringWithFormat:@"%d minutes", [current cookTime]]];
此外,您可能会发现使用此格式更容易:
cell.detailTextLabel.text = [NSString stringWithFormat:@"%d minutes", [current cookTime]];
答案 1 :(得分:0)
尝试替换:
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
使用:
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
答案 2 :(得分:0)
尝试使用
cell.detailTextLabel.text = [current cookTime];