如何限制在uitableview中选择的行数

How to limit number of rows selected in uitableview

我正在创建一个 tableView,我想在其中将 selected 的行数限制为 5。如果第 6 行是 selected,则会出现一条警告,说明我可以 select 只有5行。我可以选中和取消选中行,但最少 1 行和最多 5 行应该 selected。我该怎么做。我现在的代码如下:

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:indexPath];

    if (cell.accessoryType == UITableViewCellAccessoryNone)
    {
        cell.accessoryType = UITableViewCellAccessoryCheckmark;
        countId = countId + 1;

    }

    else
    {
        cell.accessoryType = UITableViewCellAccessoryNone;
        countId--;
    }
//    countId = [self.tableView indexPathsForSelectedRows].count;

    [self.tableView deselectRowAtIndexPath:indexPath animated:YES];
}

我应该在哪里设置限制以及如何使用它?我能够在两个视图控制器之间传递 countId 的值我只是想知道如何将 countId 限制在 1 到 5 之间。我是新手所以任何帮助将不胜感激。

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:indexPath];



    if (cell.accessoryType == UITableViewCellAccessoryNone)
    {

        if(countId <5)
        {
            cell.accessoryType = UITableViewCellAccessoryCheckmark;
            countId = countId + 1;
        }
        else
        {
            //show alert
            NSLog(@"Greater then 5");
        }


    }

    else
    {
        if(countId>1)
        {
            cell.accessoryType = UITableViewCellAccessoryNone;
            countId--;
        }
        else
        {
            //show alert
            NSLog(@"must choose 1");
        }

    }
    //    countId = [self.tableView indexPathsForSelectedRows].count;

    [self.tableView deselectRowAtIndexPath:indexPath animated:YES];
}

可能对你有帮助..,:)