在本教程的帮助下。. . .
我制作了一个 UITableViewController(作为参考,我可以称之为 MainTableVC),它的每个部分都有单行,并且我将这个 UITableViewController(MainTableVC) 的每个单元格都设为 UITableView(作为参考,我可以称之为 UITableViewOfMainTableVCell),其中包含许多单元格。
现在我旋转了 UITableViewOfMainTableVCell 的单元格/行 {* 它是 UITableView 而不是 UITableViewCell },这样我就可以水平滚动 UITableViewOfMainTableVCell 的单元格。
现在我的用户界面看起来像这样,我有一个有 10 个部分的表格(比如说),每个部分都有一个行/单元格,在这个行/单元格中我有几行/单元格可以水平滚动
我还在 UITableViewOfMainTableVCell 的自定义单元格中启用了 allowMultipleSelections
现在I wanted to keep track of selected indexes of selected rows
,我使用 UITableViewOfManiTableVCcells 的委托方法获取了一个 NSArray 并在其中保存了 indexPaths
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
NSMutableArray *selectedIndexesOfOneRow = [NSMutableArray arrayWithArray:[tableView indexPathsForSelectedRows]];
NSLog(@"number of selected Indexes = %d",[selectedIndexesOfOneRow count]);
}
-(void)tableView:(UITableView *)tableView didDeSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
NSMutableArray *selectedIndexesOfOneRow= [NSMutableArray arrayWithArray:[tableView indexPathsForSelectedRows]];
NSLog(@"number of selected Indexes = %d",[selectedIndexesOfOneRow count]);
}
我的问题:-
假设如果我在 MainTableVC 的一行/单元格中选择 4 个单元格/行,则 NSMutableArray *selectedIndexesOfOneRow 具有正确的计数,但是如果我在 MainTableVC 的另一部分中选择另一行的单元格,即使保持先前的单元格被选中,计数从头开始
问题在于 indexPathsForSelectedRows,它只跟踪单个 UITableView 的选定行,因为我为 MainTableVC 的每个部分的每一行都有单独的 UITableViews NSMutableArray 在从不同行选择单元格时总是被重置
我的问题
由于每个 Row/Cell 调用相同的 UITableView 委托方法,我将如何防止它,我想将所有选定的单元格索引存储在整个 UI 中
我可以制作一个数组数组来存储不同索引的索引,但是我将如何以不同的方式获得这些索引
“提示”我可以在我的 MainTableVC 中做这样的事情,因为我在 MainTableVC 的 Cell 中有一个 tableView,我可以放置一个 NSArray *array = [cell.tableView indexPathsOfSelectedIndex],但我应该在 MainTableVC 的哪个委托方法中放置这个,而且我也检查过,由于我没有选择任何整行 MainTableVC(UITableViewController),它的委托方法 didSelectRowAtIndexPath 和 didDeSelectRowAtIndexPath 永远不会被调用