NSMutableArray不会填充tableView

时间:2012-10-09 12:18:24

标签: iphone ios xcode uitableview tableview

我有几个表视图控制器,我希望它们的选择显示在" 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];
}

2 个答案:

答案 0 :(得分:0)

此...

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

...创建一个新数组。当您进行新的选择时,先前firstarr中的任何内容都消失了。

在其他地方创建数组(初始化对象时?)或将其内容附加到vc.someArray而不是替换它。

答案 1 :(得分:0)

您必须删除此行:

firstarr = [[NSMutableArray alloc]init];

因为每次选择单元格时都要初始化NSMutableArray,所以先前存储的所有数据都会被删除,而vc.someArray只会得到一个只包含最后一个选择的数组,这就是原因;)

在方法之外的viewDidLoad

中初始化您的NSMutableArray