// // NYBlockExerciseViewModel.m // jiaPei // // Created by Ning.ge on 2024/12/5. // Copyright © 2024 JCZ. All rights reserved. // #import "NYBlockExerciseViewModel.h" @interface NYBlockExerciseViewModel () @property (nonatomic, readwrite, strong) RQTreeListModel *treeListModel; @property (nonatomic, readwrite, assign) RQHomePageSubjectType homePageSubjectType; @property (nonatomic, readwrite, assign) NSInteger mySection; @end @implementation NYBlockExerciseViewModel #pragma mark - Public Method - (instancetype)initWithServices:(id)services params:(NSDictionary *)params { if (self = [super initWithServices:services params:params]) { self.homePageSubjectType = [params[RQHomePageSubjectTypeKey] integerValue]; } return self; } - (void)dealloc{ [[NSNotificationCenter defaultCenter] removeObserver:self]; } - (void)initialize { [super initialize]; /// 配置标题 self.title = @"分段练习题"; [self rq_configureData]; //通知-刷新 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(my_readData) name:NYBlockExerciseUpdateNotification object:nil]; } - (void)my_readData { for (NYBlockExerciseGroupViewModel *group in self.dataSource) { for (NYBlockExerciseItemModel *item in group.itemViewModels) { [item updateData]; } } } #pragma mark - ConfigureData - (void)rq_configureData { RQ_Exercise_Module.currentExerciseType = RQExerciseType_Block_List; /// 数据源 RAC(self, dataSource) = [RACSignal combineLatest:@[RACObserve(RQ_USER_MANAGER, isCykh)] reduce:^(NSNumber *isCykh) { NYBlockExerciseGroupViewModel *group0 = [NYBlockExerciseGroupViewModel groupViewModel]; group0.header = @"1.夯实基础"; group0.headerDesStr = @"覆盖大多知识考点,建立扎实的知识基础"; group0.star = 3; group0.headerHeight = 80.f; NYBlockExerciseItemModel *itemModel_0 = [[NYBlockExerciseItemModel alloc] initWithLeftStr:@"试题一" group:0]; NYBlockExerciseItemModel *itemModel_1 = [[NYBlockExerciseItemModel alloc] initWithLeftStr:@"试题二" group:0]; NYBlockExerciseItemModel *itemModel_2 = [[NYBlockExerciseItemModel alloc] initWithLeftStr:@"试题三" group:0]; NYBlockExerciseItemModel *itemModel_3 = [[NYBlockExerciseItemModel alloc] initWithLeftStr:@"试题四" group:0]; NYBlockExerciseItemModel *itemModel_4 = [[NYBlockExerciseItemModel alloc] initWithLeftStr:@"试题五" group:0]; NYBlockExerciseItemModel *itemModel_5 = [[NYBlockExerciseItemModel alloc] initWithLeftStr:@"试题六" group:0]; group0.itemViewModels = @[itemModel_0,itemModel_1,itemModel_2,itemModel_3,itemModel_4,itemModel_5]; NYBlockExerciseGroupViewModel *group1 = [NYBlockExerciseGroupViewModel groupViewModel]; group1.header = @"2.拔高拓展"; group1.headerDesStr = @"突破驾考理论重难点,掌握更全面考点"; group1.star = 4; group1.headerHeight = 80.f; NYBlockExerciseItemModel *itemModel1_0 = [[NYBlockExerciseItemModel alloc] initWithLeftStr:@"试题一" group:1]; NYBlockExerciseItemModel *itemModel1_1 = [[NYBlockExerciseItemModel alloc] initWithLeftStr:@"试题二" group:1]; NYBlockExerciseItemModel *itemModel1_2 = [[NYBlockExerciseItemModel alloc] initWithLeftStr:@"试题三" group:1]; NYBlockExerciseItemModel *itemModel1_3 = [[NYBlockExerciseItemModel alloc] initWithLeftStr:@"试题四" group:1]; group1.itemViewModels = @[itemModel1_0,itemModel1_1,itemModel1_2,itemModel1_3]; NYBlockExerciseGroupViewModel *group2 = [NYBlockExerciseGroupViewModel groupViewModel]; group2.header = @"3.巩固练习"; group2.headerDesStr = @"深化理解记忆题目细节,提高答题正确率"; group2.star = 5; group2.headerHeight = 80.f; NYBlockExerciseItemModel *itemModel2_0 = [[NYBlockExerciseItemModel alloc] initWithLeftStr:@"试题一" group:2]; NYBlockExerciseItemModel *itemModel2_1 = [[NYBlockExerciseItemModel alloc] initWithLeftStr:@"试题二" group:2]; group2.itemViewModels = @[itemModel2_0,itemModel2_1]; return @[group0,group1,group2]; }]; } @end