0

我有一个应该很常见的问题。我有一个数据数组,称为taskList这个来自 JSON 并且有几个用户数据。到目前为止,一切都很好。我做了第一个objectForKey:@"desc"并返回结果(用户描述),但是当我尝试添加另一个 objectForKey(例如年龄)时,它只显示年龄:(这是代码:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{

    UITableViewCell *cell = nil;
    cell = [tableView dequeueReusableCellWithIdentifier:@"MyCell"];

    if (cell == nil){
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"MyCell"] autorelease];
    }

    NSLog(@"%@",taskList);
    cell.textLabel.text = [[taskList objectAtIndex:indexPath.row] objectForKey:@"desc"];
    return cell;
    cell.textLabel.text = [[taskList objectAtIndex:indexPath.row] objectForKey:@"age"];
    return cell;
}
4

2 回答 2

1

改为这样做:

NSString *desc = [[taskList objectAtIndex:indexPath.row] objectForKey:@"desc"];
NSString *age  = [[taskList objectAtIndex:indexPath.row] objectForKey:@"age"];

cell.textLabel.text = [desc stringByAppendingString:age];
return cell;

另一个示例,它格式化字符串(在这种情况下,唯一的区别是我在两者之间添加了一个空格,但它向您介绍了一个非常有用的方法)(并使用我们在上面创建的两个字符串):

NSString *textForMyLabel = [NSString stringWithFormat:@"%@ %@", desc, age];
cell.textLabel.text      = textForMyLabel;

或者在不使用临时变量的情况下做同样的事情textForMyLabel

cell.textLabel.text = [desc stringByAppendingFormat:@" %@", age];
于 2012-04-04T15:02:38.447 回答
0

在您发布的代码中,您永远不会到达“年龄”部分,因为它会在设置“desc”后返回。即使您解决了这个问题,您仍然将 desc 和 age 分配给单元格中的同一字段,这可能不是您想要的。

于 2012-04-04T14:45:49.860 回答