在以下实现中,我能够跟踪每个选定单元格的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}
)
最佳答案
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词典中的值。
关于ios - 每个部分中选择的项目数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45114259/