123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129 |
- //
- // RQTestResultsViewModel.m
- // SDJK
- //
- // Created by 张嵘 on 2021/8/25.
- //
- #import "RQTestResultsViewModel.h"
- @interface RQTestResultsViewModel ()
- @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;
- @property (nonatomic, readwrite, copy) NSString *titleStr;
- @property (nonatomic, readwrite, assign) NSInteger score;
- @property (nonatomic, readwrite, assign) NSUInteger count;
- @property (nonatomic, readwrite, copy) NSArray *questionArray;
- @end
- @implementation RQTestResultsViewModel
- #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.score = [params[RQViewModelIDKey] integerValue];
- self.count = [params[RQViewCommonValueKey] integerValue];
- self.questionArray = params[RQViewModelUtilKey];
- }
- return self;
- }
- - (void)initialize {
- [super initialize];
-
- self.interactivePopDisabled = YES;
- /// 配置标题
- [self rq_configureTitle];
- ///配置数据
- [self rq_configureData];
- }
- #pragma mark - PrivateMethod
- - (void)rq_configureTitle {
- [[RACSignal combineLatest:@[RACObserve(self, homePageCarType), RACObserve(self, homePageSubjectType), RACObserve(self, homeSubPageType)]
- reduce:^id(NSNumber *homePageCarType, NSNumber *homePageSubjectType, NSNumber *homeSubPageType){
- NSString *homePageCarTypeStr = @"";
-
- switch (homePageCarType.integerValue) {
- case RQHomePageCarType_Car:
- homePageCarTypeStr = @"轿车";
- break;
- case RQHomePageCarType_Bus:
- homePageCarTypeStr = @"客车";
- break;
- case RQHomePageCarType_Truck:
- homePageCarTypeStr = @"货车";
- break;
- case RQHomePageCarType_Motorcycle:
- homePageCarTypeStr = @"摩托车";
- break;
-
- default:
- break;
- }
-
- NSString *homePageSubjectTypeStr = @"";
-
- switch (homePageSubjectType.integerValue) {
- case RQHomePageSubjectType_SubjectOne:
- homePageSubjectTypeStr = @"科目一";
- break;
- case RQHomePageSubjectType_SubjectTwo:
- homePageSubjectTypeStr = @"科目二";
- break;
- case RQHomePageSubjectType_SubjectThree:
- homePageSubjectTypeStr = @"科目三";
- break;
- case RQHomePageSubjectType_SubjectFour:
- homePageSubjectTypeStr = @"科目四";
- break;
-
- default:
- break;
- }
-
- NSString *homeSubPageTypeStr = @"";
-
- switch (homeSubPageType.integerValue) {
- case RQHomeSubPageType_SequentialPractice:
- homeSubPageTypeStr = @"顺序练习";
- break;
- case RQHomeSubPageType_LocalTopics:
- homeSubPageTypeStr = @"地方专题";
- break;
- case RQHomeSubPageType_ClassificationExercise:
- homeSubPageTypeStr = @"分类练习";
- break;
- case RQHomeSubPageType_SelectedTestQuestions:
- homeSubPageTypeStr = @"精选考题";
- break;
- case RQHomeSubPageType_MockExamination:
- homeSubPageTypeStr = @"模拟考试";
- break;
- case RQHomeSubPageType_FreeTry:
- homeSubPageTypeStr = @"免费试用";
- break;
-
- default:
- break;
- }
- return _titleStr? [NSString stringWithFormat:@"%@/%@/%@/%@",homePageCarTypeStr,homePageSubjectTypeStr,homeSubPageTypeStr,_titleStr] : [NSString stringWithFormat:@"%@/%@/%@",homePageCarTypeStr,homePageSubjectTypeStr,homeSubPageTypeStr];
- }] subscribeNext:^(NSString *titleStr) {
- self.title = titleStr;
- }];
- }
- - (void)rq_configureData {
-
- }
- @end
|