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

时间:2021-04-01 10:00:29

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

}

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

  1. JAVA面向对象编程之购物车界面的设计与功能的实现

    1.小组成员及分工 小组成员 负责工作 兰泽祥 负责总体界面.Git代码库 吴修恩 负责MVC模式.类名包名的规范化 2.Git 仓库地址 仓库地址:https://gitee.com/lanzexi ...

  2. ContactDetail 和 ContactEditor 界面头像响应点击过程

    1,联系人详情界面 ContactDetailFragment中处理,ViewAdapter装载数据显示头像 private final class ViewAdapter extends BaseA ...

  3. 在用easyui中做CRUD功能时,当删除一行或多行数据后再点击修改会提示你选中了多行,如何解决这个bug了&quest;

    在用easyui中做CRUD功能时,当删除一行或多行数据后再点击修改会提示你选中了多行,如何解决这个bug了? 在删除成功后,加上这句话就可以了:$("#dg").datagrid ...

  4. jquery 复选框全选&sol;全不选切换 普通DOM元素点击选中&sol;取消选中切换

    1.要选中的复选框设置统一的name 用prop() prop() 方法设置或返回被选元素的属性和值. $("#selectAll").click(function(){ $(&q ...

  5. input选中 和 select点击下拉选择获取选中选项的值

    1.input选中$('#checkBox').find('input').each(function(i){ if($(this).prop('checked')){//获取是否选中 并判断 $(t ...

  6. Android Splash界面支持用户点击 直接进入主界面

    转载请注明出处:http://blog.csdn.net/lmj623565791/article/details/23613403 现在大部分APP都有Splash界面,下面列一下Splash页面的 ...

  7. unigui ios微信界面错位和点击失灵问题

    IOS微信下会出现二个严重问题: 1.输入框失去焦点导致控件错位,造成无点正常点击. 此问题是微信自带浏览器,一直遗留问题, 尝试了多种方法始终无解.因此要用来开发公众号的一定要注意. 2.界面下移 ...

  8. linux系统(CentOS7)虚拟机上安装oracle 11g,解决oracle图形界面卡住无法点击next问题

    https://www.cnblogs.com/nichoc/p/6416475.html

  9. 2-微信小程序开发&lpar;开发界面说明&comma;按钮点击切换显示内容&rpar;

    说一个功能,大家在用微信实现控制设备的时候,是不是都在为绑定设备发愁. 我看了很多厂家的微信控制,大部分都只是可以用微信给设备配网,但是没有做用微信绑定的. 一般做绑定都是用设备的MAC地址. 这里我 ...

随机推荐

  1. touch触摸事件

    事件对象 事件对象是用来记录一些事件发生时的相关信息的对象.事件对象只有事件发生时才会产生,并且只能是事件处理函数内部访问,在所有事件处理函数运行结束后,事件对象就被销毁! W3C DOM把事件对象作 ...

  2. POJ3749 破译密码

    Description 据说最早的密码来自于罗马的凯撒大帝.消息加密的办法是:对消息原文中的每个字母,分别用该字母之后的第5个字母替换(例如:消息原文中的每个字母A都分别替换成字母F).而你要获得消息 ...

  3. Elasticsearch多索引

     在Elasticsearch中,一般的查询都支持多索引.只有文档API或者别名API等不支持多索引操作,因此本篇就翻译一下多索引相关的内容. 首先,先插入几条数据: $ curl -XPOST lo ...

  4. Mysql导出表结构及表数据 mysqldump用法

    几个常用用例: 1.导出整个数据库 mysqldump -u 用户名 -p 数据库名 > 导出的文件名     mysqldump -u wcnc -p smgp_apps_wcnc >  ...

  5. 操作系统下查看HBA卡信息wwn的方法

    一.Windows 系统在Windows系统中,可以使用FC HBA卡厂家提供的管理软件查看光纤适配器的WWN号码,具体如下:Qlogic:SANsurferEmulex:HBAnyware http ...

  6. Safecracker

    问题陈述: 杭州电子科技大学HANGZHOU DIANZI UNIVERSITY Online Judge Problem - 1015 问题解析: 深度优先搜索(Depth_First Search ...

  7. Cortex-M3 动态加载二(RWPI数据无关实现)

    上一篇关于动态加载讲述的是M3下面的ropi的实现细节,这一篇则讲述RW段的实现细节以及系统加载RW段的思路,我在M3上根据这个思路可以实现elf的动态加载,当然进一步的可以优化很多东西,还可以研究将 ...

  8. QWT与QT Designer

    QWT是一套非常不错的开发库,它能结合QT开发,做出非常好的曲线,刻度,表盘等效果来.  qwt的下载以及动态链接库的编译等这里就不做介绍了.在源码目录下可以找到designer目录,其中有插件的源码 ...

  9. Android中Activity&period;this&comma;getApplicationContext&lpar;&rpar;&comma;getBaseContext&lpar;&rpar;和this详解

    转自:http://android.tgbus.com/Android/tutorial/201103/346236.shtml 在使用Android上下文参数的时候经常分不清Activity.thi ...

  10. 设计模式总结篇系列:原型模式(Prototype)

    首先对原型模式进行一个简单概念说明:通过一个已经存在的对象,复制出更多的具有与此对象具有相同类型的新的对象. 在理解Java原型模式之前,首先需要理解Java中的一个概念:复制/克隆. 在博文< ...