我有几个表视图控制器,我希望它们的选择显示在" 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];
}
答案 0 :(得分:0)
此...
firstarr = [[NSMutableArray alloc]init]; //array with questions
...创建一个新数组。当您进行新的选择时,先前firstarr
中的任何内容都消失了。
在其他地方创建数组(初始化对象时?)或将其内容附加到vc.someArray
而不是替换它。
答案 1 :(得分:0)
您必须删除此行:
firstarr = [[NSMutableArray alloc]init];
因为每次选择单元格时都要初始化NSMutableArray,所以先前存储的所有数据都会被删除,而vc.someArray
只会得到一个只包含最后一个选择的数组,这就是原因;)
在方法之外的viewDidLoad