RQSpecialPointItemViewModel.m 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. //
  2. // RQSpecialPointItemViewModel.m
  3. // jiaPei
  4. //
  5. // Created by 张嵘 on 2022/6/22.
  6. // Copyright © 2022 JCZ. All rights reserved.
  7. //
  8. #import "RQSpecialPointItemViewModel.h"
  9. @interface RQSpecialPointItemViewModel ()
  10. @property (nonatomic, readwrite, copy) NSString *numStr;
  11. @end
  12. @implementation RQSpecialPointItemViewModel
  13. - (instancetype)initWithPointArr:(NSArray *)pointArr currentPoint:(RQYDTPointModel *)currentPoint {
  14. if (self = [super init]) {
  15. @weakify(self)
  16. self.title = currentPoint.name;
  17. self.numStr = [NSString qmui_stringWithNSInteger:[pointArr indexOfObject:currentPoint] + 1];
  18. CGFloat width = RQ_SCREEN_WIDTH / 2.f;
  19. CGFloat height = RQ_FIT_HORIZONTAL(50.f);
  20. self.itemSize = CGSizeMake(width, height);
  21. [[RACScheduler scheduler] schedule:^{
  22. @strongify(self)
  23. NSArray *pointArr = [RQ_YDTQuestion_Module getPointQuestionWithPointID:currentPoint.id];
  24. self.subtitle = [NSString qmui_stringWithNSInteger:pointArr.count];
  25. self.operation = ^{
  26. if (!RQObjectIsNil(pointArr) && pointArr.count > 0) {
  27. NSArray *arr = [pointArr.rac_sequence.signal map:^id _Nullable(RQYDTQuestionModel *ydtQuestionModel) {
  28. return [RQExerciseModel exerciseModelWithRQYDTQuestionModel:ydtQuestionModel];
  29. }].toArray;
  30. RQExerciseViewModel *exerciseViewModel = [[RQExerciseViewModel alloc] initWithServices:RQ_APPDELEGATE.services params:@{
  31. RQHomePageCarTypeKey : @(RQ_YDTQuestion_Module.carType),
  32. RQHomePageSubjectTypeKey : @(RQ_YDTQuestion_Module.subject),
  33. RQHomeSubPageTypeKey : @(RQHomeSubPageType_SequentialPractice),
  34. RQViewModelIDKey : currentPoint.name,
  35. RQExerciseTypeKey : @(RQExerciseType_Point),
  36. RQViewModelUtilKey : arr,
  37. }];
  38. RQ_Exercise_Module.otherStr = currentPoint.name;
  39. [RQ_APPDELEGATE.services pushViewModel:exerciseViewModel animated:YES];
  40. } else {
  41. [MBProgressHUD rq_showTips:@"正在获取题目..."];
  42. }
  43. };
  44. }];
  45. }
  46. return self;
  47. }
  48. @end