思路:
- 单选:点击cell,选中当前的,取消上一次选中的(该文章无此需求,单选后直接携带数据返回上一页,所以先不写这块代码)
- 多选:创建array,点击cell,若array中无当前cell的数据,则将该数据存到array中,若array中有当前cell的数据,则移除该数据。
主要代码:
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
if ([self.nowSelectObjectArr containsObject:self.allMesArr[indexPath.row]]) {
cell.leftLabel.textColor = MPSBlueColor;
cell.rightSelectImage.hidden = NO;
}else{
cell.leftLabel.textColor = [UIColor blackColor];
cell.rightSelectImage.hidden = YES;
}
return cell;
}
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
if (self.canMultipleChoice) {
if ([self.nowSelectObjectArr containsObject:self.allMesArr[indexPath.row]]) {
[self.nowSelectObjectArr removeObject:self.allMesArr[indexPath.row]];
}else{
[self.nowSelectObjectArr addObject:self.allMesArr[indexPath.row]];
}
[tableView reloadData];
}else{
[self.navigationController popViewControllerAnimated:YES];
self.selectBlock_Single(self.allMesArr[indexPath.row]);
}
}