123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
- //
- // 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<RQViewModelServices>)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){ //遍历用户做的题目
- dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 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;
- }
- }
- }
- }
- // 任务完成后,切换回主线程更新UI或执行其他操作
- dispatch_async(dispatch_get_main_queue(), ^{
- NSLog(@"Task completed, updating UI on main thread...");
- // 在这里可以更新UI,比如刷新界面等
- });
- });
- ///
- }
- }
-
- }
- return self;
- }
- - (void)initialize {
- [super initialize];
-
- self.title = @"";
-
- ///配置数据
- [self rq_configureData];
- }
- #pragma mark - PrivateMethod
- - (void)rq_configureData {
-
- }
- @end
|