// // RQExerciseSubViewModel.m // JSJP // // Created by 张嵘 on 2021/8/12. // #import "RQExerciseSubViewModel.h" @interface RQExerciseSubViewModel () //@property (nonatomic, readwrite, assign) RQExerciseType exerciseType; /// homePageCarType @property (nonatomic, readwrite, assign) RQHomePageCarType homePageCarType; /// homePageSubjectType @property (nonatomic, readwrite, assign) RQHomePageSubjectType homePageSubjectType; /// homeSubPageType @property (nonatomic, readwrite, assign) RQHomeSubPageType homeSubPageType; /// homeSubEditListType @property (nonatomic, readwrite, assign) RQHomeSubEditListType homeSubEditListType; @property (nonatomic, readwrite, copy) NSString *titleStr; @property (nonatomic, readwrite, assign) NSInteger number; @end @implementation RQExerciseSubViewModel #pragma mark - Public Method - (instancetype)initWithServices:(id)services params:(NSDictionary *)params { if (self = [super initWithServices:services params:params]) { // self.exerciseType = [params[RQExerciseTypeKey] integerValue]; self.homePageCarType = [params[RQHomePageCarTypeKey] integerValue]; self.homePageSubjectType = [params[RQHomePageSubjectTypeKey] integerValue]; self.homeSubPageType = [params[RQHomeSubPageTypeKey] integerValue]; self.homeSubEditListType = [params[RQHomeSubEditListTypeKey] integerValue]; self.titleStr = params[RQViewModelIDKey]; self.number = [params[RQViewCommonValueKey] integerValue]; self.questionArr = params[RQViewModelUtilKey]; self.subPageTypeKHMode = 0; if(params[RQHomeSubPageTypeKHModeKey]){ self.subPageTypeKHMode = [params[RQHomeSubPageTypeKHModeKey] integerValue]; } //读取用户记录-赋值 if(self.homeSubPageType == RQHomeSubPageType_SequentialPractice){//只有顺序-记录 NSArray *readList = [NYTools readExerciseListUserKey:RQ_USER_MANAGER.currentUser.outId carType:RQ_YDTQuestion_Module.carType subject:RQ_YDTQuestion_Module.subject exerciseType:RQ_Exercise_Module.currentExerciseType]; NSLog(@"readList=%@",readList); if(readList.count>0){ //遍历用户做的题目 for (NSDictionary *item in readList) { NSInteger ID = [item[@"ID"] unsignedIntValue];//题目id NSInteger type = [item[@"type"] unsignedIntValue];//题目类型 NSInteger answerResultsType = [item[@"answerResultsType"] unsignedIntValue];//是否做对 NSArray *userAnswer = item[@"userAnswer"];//用户选项 //查找对应题目 NSArray *filteredArray = [self.questionArr filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"ydtQuestionModel.ID == %d", ID]]; if (filteredArray.count > 0) { RQExerciseModel *exerciseModel = filteredArray.firstObject; exerciseModel.answerResultsType = answerResultsType; exerciseModel.userAnswer = userAnswer; if (exerciseModel.answerResultsType == RQAnswerResultsType_Correct) { if (![RQ_Exercise_Module.correctArr containsObject:exerciseModel]) { NSMutableArray *corArr = RQ_Exercise_Module.correctArr.mutableCopy; [corArr addObject:exerciseModel]; RQ_Exercise_Module.correctArr = corArr.copy; } } else if (exerciseModel.answerResultsType == RQAnswerResultsType_Error) { if (![RQ_Exercise_Module.errorArr containsObject:exerciseModel]) { NSMutableArray *errArr = RQ_Exercise_Module.errorArr.mutableCopy; [errArr addObject:exerciseModel]; RQ_Exercise_Module.errorArr = errArr.copy; } } } } } } } return self; } - (void)initialize { [super initialize]; self.title = @""; ///配置数据 [self rq_configureData]; } #pragma mark - PrivateMethod - (void)rq_configureData { } @end