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


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

    }

  • 相关阅读:
    傅里叶变换相关公式
    Java中的IO流
    oracle sqlplus 命令行中创建存储过程
    Redis 缓存数据库的使用场景
    Java 数值格式化类-NumberFormat
    Idea_类注释、属性注释、方法注释
    博客·HelloWorld
    【4】Django 创建第一个模块应用
    【3】Django创建第一个项目
    理解面向对象三大特征与魔法方法?
  • 原文地址:https://www.cnblogs.com/zhanghuanan/p/5276535.html
Copyright © 2020-2023  润新知