计算UITableView上选定行的数量

El *_*ato 3 uitableview ios

我有以下代码来计算表中选定行的数量(tableview1).

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    UITableViewCell * cell = [tableView cellForRowAtIndexPath:indexPath];
    if (!cell) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"Cell"];
    }
    int count = 0;
    selectedindex1 = indexPath.row;
    for (NSIndexPath *indexPath in tableview1.indexPathsForSelectedRows) {
        count = count + 1;
    }
    rowcount = count;
}
Run Code Online (Sandbox Code Playgroud)

其中selectedindex1和rowcount是整数变量.

只要您假设用户不会选择已经选择的行,此代码就可以运行.如果这样做,则应用程序无法分辨所选行的正确数量,因为此类操作不会触发didSelectRowAtIndexPath方法.有没有更好的方法来计算所选行的数量?

谢谢您的帮助.

pau*_*kow 6

我认为这很简单:

[[tableView indexPathsForSelectedRows] count]
Run Code Online (Sandbox Code Playgroud)

然后,这正是你的代码所做的:

int count = 0;
for (NSIndexPath *indexPath in tableview1.indexPathsForSelectedRows) {
    count = count + 1;
}
rowcount = count;
Run Code Online (Sandbox Code Playgroud)

你想要发生什么?