0

テーブルビューコントローラがほとんどないので、それらからの選択を「ResultTableViewController」に表示したいと思います。選択したデータを収集する配列もあり、最終的に「ResultViewController」にプッシュすると、最後の選択のみが表示されます。助けてください

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{

    firstarr = [[NSMutableArray alloc]init]; //array with questions
    [self.firstarr addObject:[self.data objectAtIndex:indexPath.row]]; //collects the data properly

    BodyDetailViewController* vc =[[BodyDetailViewController alloc] initWithNibName:@"BodyDetailViewController" bundle:nil];
    vc.someArray = firstarr; //some array - ViewController with Results.

    [self.navigationController pushViewController:vc animated:YES];
}
4

2 に答える 2

0

これ...

firstarr = [[NSMutableArray alloc]init]; //array with questions

...新しいアレイを作成します。firstarr新しい選択を行うと、以前にあったものはすべて失われます。

配列を別の場所で一度作成するか(オブジェクトが初期化されたときに?)、その内容をvc.someArray置き換えるのではなくに追加します。

于 2012-10-09T12:33:42.417 に答える
0

この行を削除する必要があります:

firstarr = [[NSMutableArray alloc]init];

セルを選択するたびにNSMutableArrayを初期化するため、以前に保存されたすべてのデータが消去されvc.someArray、最後に選択したものだけで配列が取得されます。これが理由です;)

viewDidLoadたとえば、メソッドの外部でNSMutableArrayを初期化します。

于 2012-10-09T12:46:49.010 に答える