用户触发按钮中的事件,回调给model状态,用户滑动cell时,复用池出现的cell会重新取model里的值
前言:
model 中添加一个属性
@property(nonatomic, assign) BOOL selected; //记录选中状态
- 声明Block
@interface AAAddCell : UITableViewCell
// step3-1: 声明block一个属性
@property(nonatomic, copy) void (^addBlock)(BOOL isAdd);
@end
2.按钮事件中添加
// step3-2-1: 当前页面 已 添加
if (self.addBlock) {
self.addBlock(YES);
}
// step3-2-1: 当前页面 取消 已添加
if (self.addBlock) {
self.addBlock(NO);
}
3:赋值
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
// 实现UITableViewCell的初始化 ,包含数据源转model 给cell 赋值
// step3-3:滑动到复用时,展示Model中selected的状态
addCell.addBlock = ^(BOOL isAdd) {
if (isAdd) {
model.selected = YES;
}else{
model.selected = NO;
}
};
return addCell;
}