保留tableviews之间的选择

时间:2013-06-03 08:24:43

标签: ios uitableview

我在2个xib中有2个tableviews,同时拥有自己的类。我想要实现的是,当TableView1的选定行为4时,TableView2的选定行也是4,反之亦然。因此,TableViews之间选择的行号应该相同。我如何实现这一目标?

我在想类似:tableview1.tablerow == tableview2.tablerow,但不知道如何执行此操作。

2 个答案:

答案 0 :(得分:0)

这可以通过多种方式实现。在两个表视图上创建属性并将其设置为所选单元格,例如:

在两个tableViews上

@property (nonatomic, strong) NSIndexPath *selectedCell;

在选择一个单元格时,只需在另一个单元格上设置参数

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
   //imagine there is a reference to the tableView2
   self.tableView2.selectedCell = indexPath;
   //display the tableView2 or do whatever is needed
}

并在tableView2的viewWillAppear上设置所选行以反映该属性

- (void)viewWillAppear:(BOOL)animated{  
    [super viewWillAppear:animated];    
    [self.tableView selectRowAtIndexPath:selectedCell animated:NO scrollPosition:UITableViewScrollPositionNone]; 
}

反之亦然。

答案 1 :(得分:0)

在tableView2的tableviewcontroller中设置一个接收器,当你在TableView1中选择一行时更新TableView2,如下所示:

NSManagedObjectID* selectedRow=[[self.frc objectAtIndexPath:indexPath] objectID];
TableView2* tableview2controller=[[TableView2 alloc] init];
tableview2controller.selectedRow = selectedRow;