// // RQVideoDetailViewModel.m // SDJK // // Created by 张嵘 on 2021/10/26. // #import "RQVideoDetailViewModel.h" @interface RQVideoDetailViewModel () @property (nonatomic, readwrite, strong) RQTreeListModel *treeListModel; @property (nonatomic, readwrite, assign) NSInteger index; @property (nonatomic, readwrite, strong) NSIndexPath *indexPath; @property (nonatomic, readwrite, assign) RQHomePageSubjectType homePageSubjectType; @property (nonatomic, readwrite, strong) VideosItem *videosItem; @property (nonatomic, readwrite, copy) NSArray *currentVideoesArr; @end @implementation RQVideoDetailViewModel #pragma mark - Public Method - (instancetype)initWithServices:(id)services params:(NSDictionary *)params { if (self = [super initWithServices:services params:params]) { if ([params[RQViewModelUtilKey] isKindOfClass:[RQTreeListModel class]]) { self.treeListModel = params[RQViewModelUtilKey]; } else if ([params[RQViewModelUtilKey] isKindOfClass:[NSArray class]]) { self.currentVideoesArr = params[RQViewModelUtilKey]; } self.index = [params[RQVideoItemIndexKey] integerValue]; self.indexPath = params[RQVideoItemIndexPathKey]; self.homePageSubjectType = [params[RQHomePageSubjectTypeKey] integerValue]; self.videosItem = params[RQPlayVideoItemKey]; } return self; } - (void)initialize { [super initialize]; self.prefersNavigationBarHidden = YES; /// 配置标题 [self rq_configureTitle]; } #pragma mark - PrivateMethod - (void)rq_configureTitle { [[RACSignal combineLatest:@[RACObserve(self, homePageSubjectType)] reduce:^id(NSNumber *homePageSubjectType){ 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; } return [NSString stringWithFormat:@"%@视频",homePageSubjectTypeStr]; }] subscribeNext:^(NSString *titleStr) { self.title = titleStr; }]; } @end