保留桌面之间的选择
我在2个xib中都有2个tableviews,都有自己的类。我想实现的是,当TableView1的选定行是4时,TableView2的选定行也是4,反之亦然。所以选择的行号在TableView之间应该是相同的。我如何实现这一目标?保留桌面之间的选择
我想的是这样的:tableview1.tablerow == tableview2.tablerow,但不知道如何执行此操作。
这可以通过许多方式实现。两个表视图创建一个属性,并将其设置为例如选定的单元格:
在两个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
}
并在viewWillAppear of tableView2只是设置选定的行以反映该属性
- (void)viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];
[self.tableView selectRowAtIndexPath:selectedCell animated:NO scrollPosition:UITableViewScrollPositionNone];
}
和其他方式一样。
感谢您的回答!这就是我一直在寻找的东西,但我正在碰到一些东西。点击按钮时,表格弹出窗口会显示出来。当我在tableview1中选择一行时,tableview2中的行会更新。但是当我再次点击tableview1时,该行仍然是tableview2中前一行的同一行。我希望你了解这个问题! – Torylon
不确定你的意思,你能详细说明一下吗?无论如何,只是在某些地方保存选定的indexPath并在需要时更新另一个表(viewWillAppear或任何适合您的需求) – Emilio
那么,当我在TableView1上选择一行时,该行就像预期的那样更新到TableView2。但是当我再次单击TableView 1时,所选行就是先前在TableView2中选择的行。不太确定如何正确解释。 – Torylon
设置一个接收器在tableviewcontroller为TableView2,当你选择TableView1更新TableView2一排是这样的:
NSManagedObjectID* selectedRow=[[self.frc objectAtIndexPath:indexPath] objectID];
TableView2* tableview2controller=[[TableView2 alloc] init];
tableview2controller.selectedRow = selectedRow;
你的问题不明确 – manujmv