// // RQExercisExplainCell.m // JSJP // // Created by 张嵘 on 2022/7/2. // #import "RQExercisExplainCell.h" @interface RQExercisExplainCell () @property (nonatomic, readwrite, strong) RQExercisExplainItemViewModel *viewModel; @property (weak, nonatomic) IBOutlet UILabel *errorRateLabel; @property (weak, nonatomic) IBOutlet UIButton *starOneBtn; @property (weak, nonatomic) IBOutlet UIButton *starTwoBtn; @property (weak, nonatomic) IBOutlet UIButton *starThreeBtn; @property (weak, nonatomic) IBOutlet UIButton *starFourBtn; @property (weak, nonatomic) IBOutlet UIButton *starFiveBtn; @property (weak, nonatomic) IBOutlet YYLabel *explainLabel; @end @implementation RQExercisExplainCell #pragma mark - PublicMethods + (instancetype)cellWithTableView:(UITableView *)tableView { static NSString *ID = @"RQExercisExplainCell"; RQExercisExplainCell *cell = [tableView dequeueReusableCellWithIdentifier:ID]; if (!cell) { cell = [self rq_viewFromXib]; cell.selectionStyle = UITableViewCellSelectionStyleNone; } return cell; } - (void)bindViewModel:(RQExercisExplainItemViewModel *)viewModel { // @weakify(self) _viewModel = viewModel; _errorRateLabel.text = [NSString stringWithFormat:@"%.1f%%",viewModel.exerciseModel.ydtQuestionModel.error_rate * 100]; switch (viewModel.exerciseModel.ydtQuestionModel.diff_degree) { case 0: { _starOneBtn.selected = NO; _starTwoBtn.selected = NO; _starThreeBtn.selected = NO; _starFourBtn.selected = NO; _starFiveBtn.selected = NO; break; } case 1: { _starOneBtn.selected = YES; _starTwoBtn.selected = NO; _starThreeBtn.selected = NO; _starFourBtn.selected = NO; _starFiveBtn.selected = NO; break; } case 2: { _starOneBtn.selected = YES; _starTwoBtn.selected = YES; _starThreeBtn.selected = NO; _starFourBtn.selected = NO; _starFiveBtn.selected = NO; break; } case 3: { _starOneBtn.selected = YES; _starTwoBtn.selected = YES; _starThreeBtn.selected = YES; _starFourBtn.selected = NO; _starFiveBtn.selected = NO; break; } case 4: { _starOneBtn.selected = YES; _starTwoBtn.selected = YES; _starThreeBtn.selected = YES; _starFourBtn.selected = YES; _starFiveBtn.selected = NO; break; } case 5: { _starOneBtn.selected = YES; _starTwoBtn.selected = YES; _starThreeBtn.selected = YES; _starFourBtn.selected = YES; _starFiveBtn.selected = YES; break; } default: break; } RAC(self.explainLabel, attributedText) = [[RACObserve(viewModel, explainString) takeUntil:self.rac_prepareForReuseSignal] deliverOnMainThread]; } #pragma mark - SystemMethods - (void)awakeFromNib { [super awakeFromNib]; // Initialization code } - (void)setSelected:(BOOL)selected animated:(BOOL)animated { [super setSelected:selected animated:animated]; // Configure the view for the selected state } @end