购物车界面,不同section,点击增减物品,确定取消选中的逻辑判断

1、首先在自定义的cell中,创建两个代理方法


@protocol shopCartDelegate

-(void)shopCartDelegate:(ShopCartCell *)cell WithBtn:(UIButton *)btn;
-(void)shopCartDelegateNum:(ShopCartCell *)cell WithBtn:(UIButton *)btn;

@end

@interface ShopCartCell : UITableViewCell
@property(nonatomic,assign)iddelegate;
@end

2、在viewcontroller中实现这两个代理方法
shopCell.delegate = self;//遵循代理
方法实现

(1)选中和取消的代理方法


-(void)shopCartDelegate:(ShopCartCell *)cell WithBtn:(UIButton *)btn

{
NSIndexPath *indexPath =[self.tableView indexPathForCell:cell];
int couss=0 ;
NSArray *array =self.array[indexPath.section];
for (int i = 0; i < array.count; i++) {
ShopModel *model =array[i];
if (i==indexPath.row) {
if (btn.selected) {
model.isSelected = @"true";
}else{
model.isSelected = @"false";
}
}
if ([model.isSelected isEqualToString:@"true"]) {
couss++;
}
}

//判断section内的cell是否都被选中
if (couss == array.count) {
self.isonOff = NO;
}else{
self.isonOff = YES;
}
[self.tableView reloadData];
}


(2)增加减少

-(void)shopCartDelegateNum:(ShopCartCell *)cell WithBtn:(UIButton *)btn

{

NSIndexPath *indexPath =[self.tableView indexPathForCell:cell];

NSArray *array =self.array[indexPath.section];

for (int i =0; i < array.count; i++) {

    ShopModel *model =array[i];

    if (i==indexPath.row) {

        if (btn.tag == 2000) {

            model.num =[NSString stringWithFormat:@"%d",model.num.intValue+1];

        }else{

            if (model.num.intValue == 1) { 

            }else{

            model.num =[NSString stringWithFormat:@"%d",model.num.intValue-1];

            }

        }

    }

}

[self.tableView reloadData];

}

你可能感兴趣的:(购物车界面,不同section,点击增减物品,确定取消选中的逻辑判断)