如何根据另一个表中的选择更改表的数据源

时间:2012-12-04 09:40:46

标签: ios uitableview

我有一个包含3个表的视图

1-首先

2秒

3-第三

我已经尝试了UISplitView视图但是很多帖子说它只支持2个视图,所以我决定转到3个表选择

我想根据用户点击第一张表

更改第二张表的数据源

这是我的代码: 第一次

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


    [tableView deselectRowAtIndexPath:indexPath animated:YES];
    items = [NSMutableArray arrayWithObjects:@"test",@"20",@"30",@"40",@"5",@"6",@"6",@"8",@"9",@"10",@"11",@"12",nil];
    SecondViewController *s=[[SecondViewController alloc]init];
    [s setitems:items];

}

第二次

-(void) setitems :(NSMutableArray *)datasource
{
    items=datasource;
    [self.tableView reloadData];
}

问题是numberOfRowsInSection第二个表没有被解雇? 我想知道动态更改表数据源的最佳方法吗?

2 个答案:

答案 0 :(得分:0)

您是否已将第二个tableview的委托设置为self?否则tableview的委托方法不会被调用。

答案 1 :(得分:0)

只有在加载了tableView(在视图中可见)时才会触发UITableView委托。您正在初始化SecondViewController,但表将被加载。当您访问(或显示)SecondViewController的视图时,它将加载。所以试着调用[s setitems:items];添加SecondViewController的视图后。