1//定义协议
@protocol FreeStockTableViewCellDelegate <NSObject>
-(void)button:(UIButton*)button andStock_code:(NSString *)stockCode andIsSelected:(BOOL)isSelected andIndexPathRow:(NSInteger)indexPathRow;
@end
//2.
@property(nonatomic,strong)id<FreeStockTableViewCellDelegate> delegate;
@property(nonatomic,assign)BOOL isSelected;
@property(nonatomic,assign)NSInteger indexPathRow;
//3.
-(void)layoutSubviews{
[superlayoutSubviews];
//设置selectButton默认状态和选择状态
[self.selectButtonsetBackgroundImage:[UIImageimageNamed:@"3提醒消息-编辑_06"]forState:UIControlStateSelected];
[self.selectButtonsetBackgroundImage:[UIImageimageNamed:@"3提醒消息-编辑_10"]forState:UIControlStateNormal];
}
//4.
#pragma mark 勾选框
- (IBAction)selectBox:(id)sender {
//返回给delegate值
if ([self.delegate respondsToSelector:@selector(button:andStock_code:andIsSelected:andIndexPathRow:)]) {
if (self.selectButton.selected == NO) {
self.selectButton.selected = YES;
_isSelected = YES;
}else{
self.selectButton.selected = NO;
_isSelected = NO;
}
[self.delegate button:self.selectButton andStock_code:self.freeData.stklabel andIsSelected:self.isSelected andIndexPathRow:self.indexPathRow];
}
}
//EditFreeStockViewController
if ([self.items indexOfObject:@(indexPath.row)] != NSNotFound) {
cell.selectButton.selected = YES;
}else{
cell.selectButton.selected = NO;
}
cell.isSelected = NO;
cell.indexPathRow = indexPath.row;
cell.freeData = self.freeStockArray[indexPath.row];
cell.delegate = self;
#pragma mark - FreeStockTableViewCellDelegate
-(void)button:(UIButton *)button andStock_code:(NSString *)stockCode andIsSelected:(BOOL)isSelected andIndexPathRow:(NSInteger)indexPathRow{
if (isSelected == YES) {
[self.addStockCodeArray addObject:stockCode];
[self.items addObject:@(indexPathRow)];
}else{
[self.addStockCodeArray removeObject:stockCode];
[self.items removeObject:@(indexPathRow)];
}
self.selectCountLabel.text = [NSString stringWithFormat:@"已选择%lu个",(unsigned long)[self.addStockCodeArray count]];
}