1

グループ化されたテーブルに出力しているレビューの配列があります。セクションメソッドを[配列カウント]に送信したときに、各レビューを独自のテーブルビューセクションに配置したいのですが、配列内にあるアイテムの数だけ同じグループを繰り返します。これを行う方法はありますか?それが理にかなっていることを願っています。ありがとう

- 編集 -

私が達成したいことの写真と cellForRow/Section/DidSelectRowMethod を追加しました。これですべてが明確になることを願っています

ここに画像の説明を入力

- (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];
}
4

2 に答える 2

2

numberOfRowsFor すべてのセクションに対して 1 を返すだけです。あなたのコードに私の与えられたコードを追加してください

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

これは、すべてのセクションにセルまたは行が 1 つしかないことを意味します。これがあなたが達成したいことであることを願っています。(各レビューには独自のセクションがあります)

于 2012-04-25T10:46:57.807 に答える
1

すべてのレビューを個別のグループに含める必要があるため、配列インデックスの行ではなく、インデックスパスのセクションを使用する必要があります(セクションごとに1つの行しかないため、行は常に0になります)。

// Override if you need to change the ordering of objects in the table.
- (PFObject *)objectAtIndex:(NSIndexPath *)indexPath 
{ 
    return [self.objects objectAtIndex:indexPath.section];
}
于 2012-04-25T10:10:18.757 に答える