哈哈的笑  

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

@protocol shopCartDelegate <NSObject>

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

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

@end

 

@interface ShopCartCell : UITableViewCell

 

@property(nonatomic,assign)id<shopCartDelegate>delegate;

@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];

}

 

posted on 2016-03-14 17:41  哈哈的笑  阅读(541)  评论(0编辑  收藏  举报