标签:
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,点击增减物品,确定取消选中的逻辑判断
标签:
原文地址:http://www.cnblogs.com/zhanghuanan/p/5276535.html