我在2个xib中有2个tableviews,同时拥有自己的类。我想要实现的是,当TableView1的选定行为4时,TableView2的选定行也是4,反之亦然。因此,TableViews之间选择的行号应该相同。我如何实现这一目标?
我在想类似:tableview1.tablerow == tableview2.tablerow,但不知道如何执行此操作。
答案 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;