在以下实现中,我能够跟踪每个选定单元格的indexPath和选择整个tableView的项目总数。
我想知道如何才能获得每个部分中选择的项目数量?
- (void)selectedItem: (UITableView *)tableView {
NSArray <NSIndexPath*> *selectedIndexPaths = [tableView indexPathsForSelectedRows];
for (NSIndexPath *indexpath in selectedIndexPaths) {
NSLog(@"Section index : %ld", indexpath.section);
NSLog(@"Row index : %ld", indexpath.row);
}
}
这是打印输出,您可以看到我在第0部分中选择了2个项目,在第1部分中选择了1个项目。
po [tableView indexPathsForSelectedRows]
<__NSArrayI 0x1744428b0>(
<NSIndexPath: 0xc000000000400016> {length = 2, path = 0 - 2},
<NSIndexPath: 0xc000000000c00016> {length = 2, path = 0 - 6},
<NSIndexPath: 0xc000000001000116> {length = 2, path = 1 - 8}
)
答案 0 :(得分:1)
NSMutableDictionary *selectedRowsInSectionDictionary = [NSMutableDictionary dictionary];
NSArray <NSIndexPath*> *selectedIndexPaths = [tableview indexPathsForSelectedRows];
for (NSIndexPath *indexpath in selectedIndexPaths) {
NSInteger numberOfSelectedRows = [[selectedRowsInSectionDictionary objectForKey: @(indexpath.section)] integerValue];
numberOfSelectedRows++;
[selectedRowsInSectionDictionary setObject:@(numberOfSelectedRows) forKey: @(indexpath.section)];
}
您将获得一个部分中所选行的数量,其中部分编号作为键,并且该部分上所选行的数量为selectedRowsInSectionDictionary字典中的值。