UITableView分组显示每个部分的新信息

时间:2012-04-25 09:32:22

标签: iphone objective-c ios uitableview parse-platform

我有一系列评论,我将其输出到分组表中。当我将sections方法发送到[array count]时,我希望每个评论都在它自己的tableview部分中,它只是为数组中的多个项重复相同的组。我有什么想法可以做到这一点?我希望这是有道理的。感谢

- 编辑 -

添加了我想要实现的图片以及cellForRow / Section / DidSelectRowMethod的图片 我希望这能澄清一切

enter image description here

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

    static NSString *CellIdentifier = @"Cell";
    CustomCell * cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) 
    {
        cell = [[[CustomCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier] autorelease];

    }


    cell.primaryLabel.text = [object objectForKey:@"comment"];

    if([[object objectForKey:@"rating"] isEqualToString:@"0"])
    {
        cell.myImageView.image = [UIImage imageNamed:@"rating_0.png"];
    }
    if([[object objectForKey:@"rating"] isEqualToString:@"1"])    {
        cell.myImageView.image = [UIImage imageNamed:@"rating_1.png"];
    }
    if([[object objectForKey:@"rating"] isEqualToString:@"2"])
    {
        cell.myImageView.image = [UIImage imageNamed:@"rating_2.png"];
    }
    if([[object objectForKey:@"rating"] isEqualToString:@"3"])
    {
        cell.myImageView.image = [UIImage imageNamed:@"rating_3.png"];
    }
    if([[object objectForKey:@"rating"] isEqualToString:@"4"])
    {
        cell.myImageView.image = [UIImage imageNamed:@"rating_4.png"];
    }
    if([[object objectForKey:@"rating"] isEqualToString:@"5"])
    {
        cell.myImageView.image = [UIImage imageNamed:@"rating_5.png"];
    }


    return cell;

}


// Override if you need to change the ordering of objects in the table.
- (PFObject *)objectAtIndex:(NSIndexPath *)indexPath 
{ 
    return [self.objects objectAtIndex:indexPath.row];
}

#pragma mark - Table view delegate

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    PFObject *object = [self.objects objectAtIndex:indexPath.row];
    Review *review = [[Review alloc] initWithNibName:@"Review" bundle:nil];
    review.Name = [object objectForKey:@"userId"];
    NSLog(@"%@",[object objectForKey:@"userId"]);
    review.rating = [object objectForKey:@"rating"];
    review.comments = [object objectForKey:@"comment"];

    [self.navigationController pushViewController:review animated:YES];

    [review release];

}

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView 
{
    return [self.objects count];
}

2 个答案:

答案 0 :(得分:3)

为每个部分的numberOfRowsFor返回1。 在代码中添加我给出的代码

 - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
   return 1;
 }

这意味着每个部分只有1个单元格或行。我希望这是你想要实现的目标。 (每个评论现在都有自己的部分)

答案 1 :(得分:2)

由于您希望每个评论都在一个单独的组中,您必须使用索引路径的部分而不是数组索引的行(该行将始终为0,因为每个部分只有一行):

// Override if you need to change the ordering of objects in the table.
- (PFObject *)objectAtIndex:(NSIndexPath *)indexPath 
{ 
    return [self.objects objectAtIndex:indexPath.section];
}