123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568 |
- //
- // RQHomePageSubjectOneOrFourViewModel.m
- // SDJK
- //
- // Created by 张嵘 on 2021/7/29.
- //
- #import "RQHomePageSubjectOneOrFourViewModel.h"
- #import "LightingAndSoundVC.h"
- #import "TRDetailVC.h"
- @interface RQHomePageSubjectOneOrFourViewModel ()
- @property (nonatomic, readwrite, assign) RQHomePageCarType homePageCarType;
- @property (nonatomic, readwrite, assign) RQHomePageSubjectType homePageSubjectType;
- @property (nonatomic, readwrite, strong) RQTreeListModel *treeListModel;
- @property (nonatomic, readwrite, copy) NSArray *subjectTwoArr;
- @property (nonatomic, readwrite, copy) NSArray *subjectThreeArr;
- @property (nonatomic, readwrite, copy) NSArray *currentVideosArr;
- @end
- @implementation RQHomePageSubjectOneOrFourViewModel
- #pragma mark - Public Method
- - (instancetype)initWithServices:(id<RQViewModelServices>)services params:(NSDictionary *)params {
- if (self = [super initWithServices:services params:params]) {
- self.homePageCarType = [params[RQHomePageCarTypeKey] integerValue];
- self.homePageSubjectType = [params[RQHomePageSubjectTypeKey] integerValue];
- }
- return self;
- }
- - (void)initialize {
- [super initialize];
-
- self.title = @"";
- // [self getVideos];
- ///配置数据
- // [self rq_configureData];
- [self rq_configureData0];
- }
- #pragma mark - PrivateMethod
- - (void)rq_configureData {
- @weakify(self)
- /// 当前科目
- NSString *subjectStr = (self.homePageSubjectType == RQHomePageSubjectType_SubjectFour)? @"科目四" : ((self.homePageSubjectType == RQHomePageSubjectType_SubjectThree)? @"科目三" : (self.homePageSubjectType == RQHomePageSubjectType_SubjectTwo)? @"科目二" : @"科目一");
- __block NSMutableArray *mutableArrr = @[].mutableCopy;
-
- /// 第零组
- RQCommonGroupViewModel *group0;
-
- RQCommonGroupViewModel *group2 = [RQCommonGroupViewModel groupViewModel];
-
-
- if (self.homePageSubjectType == RQHomePageSubjectType_SubjectThree || self.homePageSubjectType == RQHomePageSubjectType_SubjectTwo) {
- group0 = [[RQHomeSubPageToolBarOneGroupViewModel alloc] initWithRQHomePageSubjectType:self.homePageSubjectType];
- group0.footerHeight = (RQ_SCREEN_WIDTH - (16 * 3)) / 4.f * (6.f / 4.f);
-
- if (self.homePageSubjectType == RQHomePageSubjectType_SubjectTwo) {
- group2.itemViewModels = [self.subjectTwoArr.rac_sequence map:^id _Nullable(NSString *titleStr) {
- @strongify(self)
- RQHomeSubPageNormalItemViewModel *item = [[RQHomeSubPageNormalItemViewModel alloc] init];
- item.icon = @"subject2_standart_icon";
- item.title = titleStr;
- item.itemSize = CGSizeMake(RQ_SCREEN_WIDTH, 44.f);
- item.bottomLineHide = [self.subjectTwoArr indexOfObject:titleStr] == self.subjectTwoArr.count + 1;
- item.operation = ^{
- @strongify(self)
- TRDetailVC *vc=[[TRDetailVC alloc]init];
- [vc setFile:titleStr];
- [self navPushHideTabbarToVC:vc];
- };
- return item;
- }].array;
- } else {
- group2.itemViewModels = [self.subjectThreeArr.rac_sequence map:^id _Nullable(NSString *titleStr) {
- @strongify(self)
- RQHomeSubPageNormalItemViewModel *item = [[RQHomeSubPageNormalItemViewModel alloc] init];
- item.icon = @"subject2_standart_icon";
- item.title = titleStr;
- item.itemSize = CGSizeMake(RQ_SCREEN_WIDTH, 44.f);
- item.bottomLineHide = [self.subjectThreeArr indexOfObject:titleStr] == self.subjectTwoArr.count + 1;
- item.operation = ^{
- @strongify(self)
- TRDetailVC *vc=[[TRDetailVC alloc]init];
- [vc setFile:titleStr];
- [self navPushHideTabbarToVC:vc];
- };
- return item;
- }].array;
- }
- } else {
- group0 = [RQHomeSubPageToolBarGroupViewModel groupViewModel];
- group0.footerHeight = RQ_FIT_HORIZONTAL(65.f);
- }
- group0.headerHeight = RQ_SHARE_FUNCTION.RQADViewHeight;
- RQHomeSubPageItemViewModel *homeSubPageItemViewModel = [[RQHomeSubPageItemViewModel alloc] initWithRQHomePageCarType:self.homePageCarType homePageSubjectType:self.homePageSubjectType];
- homeSubPageItemViewModel.itemSize = CGSizeMake(RQ_SCREEN_WIDTH, RQ_FIT_HORIZONTAL(359.f));
- homeSubPageItemViewModel.operation = ^{
-
- };
- RQCommonGroupViewModel *group3 = [RQCommonGroupViewModel groupViewModel];
- group3.headerHeight = 10.f;
- group3.headerHeight = 10.f;
- RQHomeSubPageNormalItemViewModel *item0 = [[RQHomeSubPageNormalItemViewModel alloc] init];
- item0.icon = @"subject3_light_ico";
- item0.title = @"灯光操作";
- item0.itemSize = CGSizeMake(RQ_SCREEN_WIDTH / 2.f - 8.f, 54.f);
- item0.operation = ^{
- LightingAndSoundVC *VC = [[LightingAndSoundVC alloc] init];
- VC.styleTag = 4;
- [self navPushHideTabbarToVC:VC];
- };
- item0.bottomLineHide = YES;
-
- RQHomeSubPageNormalItemViewModel *item1 = [[RQHomeSubPageNormalItemViewModel alloc] init];
- item1.icon = @"subject3_voice_icon";
- item1.title = @"语音模拟";
- item1.itemSize = CGSizeMake(RQ_SCREEN_WIDTH / 2.f - 8.f, 54.f);
- item1.bottomLineHide = YES;
- item1.operation = ^{
- LightingAndSoundVC *VC = [[LightingAndSoundVC alloc] init];
- VC.styleTag = 5;
- [self navPushHideTabbarToVC:VC];
- };
- group3.itemViewModels = @[item0, item1];
-
-
- /// 数据源
- RAC(self, dataSource) = [RACObserve(RQ_COMMON_MANAGER, treeListArr) map:^(NSArray * treeListModelArr) {
- @strongify(self)
- if (RQObjectIsNil(treeListModelArr)) {
- group0.itemViewModels = (self.homePageSubjectType == RQHomePageSubjectType_SubjectThree || self.homePageSubjectType == RQHomePageSubjectType_SubjectTwo)? @[] : @[homeSubPageItemViewModel];
- if (self.homePageSubjectType == RQHomePageSubjectType_SubjectTwo) {
- return @[group0, group2];
- } else if (self.homePageSubjectType == RQHomePageSubjectType_SubjectThree) {
- return @[group0, group3, group2];
- } else {
- return @[group0];
- }
- }
- if (treeListModelArr.count > 0) {
- /// 第一组
- RQHomeSubPageVideoHeaderGroupViewModel *group1 = [RQHomeSubPageVideoHeaderGroupViewModel groupViewModel];
- group1.headerHeight = 48.f;
- group1.footerHeight = CGFLOAT_MIN;
- group1.header = (self.homePageSubjectType == RQHomePageSubjectType_SubjectThree || self.homePageSubjectType == RQHomePageSubjectType_SubjectTwo)? @"基础操作视频" : ((self.homePageSubjectType == RQHomePageSubjectType_SubjectFour)? @"科目四视频教程" : @"科目一视频教程");
- __block NSInteger scrollItemSection;
- NSArray *arr = [[treeListModelArr.rac_sequence filter:^BOOL(RQTreeListModel *treeListModel) {
- return [treeListModel.typeName isEqualToString:subjectStr];
- }].array.rac_sequence map:^id _Nullable(RQTreeListModel *treeListModel) {
- self.treeListModel = treeListModel;
- group1.treeListModel = treeListModel;
- group1.homePageSubjectType = self.homePageSubjectType;
- return [treeListModel.children.rac_sequence map:^id _Nullable(ChildrenItem *childrenItem) {
- NSInteger section = [treeListModel.children indexOfObject:childrenItem];
- if (childrenItem.videos.count > 0) {
- return [self dataSourceWithItems:childrenItem.videos treeListModel:treeListModel section:section];
- } else {
- if ([childrenItem.typeName isEqualToString:@"基础操作"]) {
- return [childrenItem.children.rac_sequence map:^id _Nullable(ChildrenItem *childrenItemA) {
- group1.mySection = section;
- return [self dataSourceWithItems:childrenItemA.videos treeListModel:treeListModel section:section];
- }].array;
- } else {
- scrollItemSection = section;
- NSArray *arrr = [childrenItem.children.rac_sequence map:^id _Nullable(ChildrenItem *childrenItemA) {
- if (childrenItemA.videos.count > 0) {
- return childrenItemA;
- } else {
- return nil;
- }
- }].array;
- [mutableArrr addObjectsFromArray:arrr];
- return nil;
- }
- }
- }].array;
- }].array;
-
- [self dataDealWithDataArr:arr completion:^(NSArray *arr) {
- group1.itemViewModels = arr;
- }];
-
- RQHomeSubPageVideoScrollItemViewModel *homeSubPageVideoScrollItemViewModel = [[RQHomeSubPageVideoScrollItemViewModel alloc] initWithChildrenItemArr:mutableArrr.copy treeListModel:self.treeListModel homePageSubjectType:self.homePageSubjectType section:scrollItemSection];
- homeSubPageVideoScrollItemViewModel.itemSize = CGSizeMake(RQ_SCREEN_WIDTH, RQ_FIT_HORIZONTAL(239.f));
- homeSubPageVideoScrollItemViewModel.operation = ^{
-
- };
-
- group0.itemViewModels = @[(self.homePageSubjectType == RQHomePageSubjectType_SubjectThree || self.homePageSubjectType == RQHomePageSubjectType_SubjectTwo)? homeSubPageVideoScrollItemViewModel : homeSubPageItemViewModel];
-
-
- if (self.homePageSubjectType == RQHomePageSubjectType_SubjectTwo) {
- return group1.itemViewModels.count > 0? @[group0, group1, group2] : @[group0, group2];
- } else if (self.homePageSubjectType == RQHomePageSubjectType_SubjectThree) {
- return group1.itemViewModels.count > 0? @[group0, group1, group3, group2] : @[group0, group3 ,group2];
- } else {
- return group1.itemViewModels.count > 0? @[group0, group1] : @[group0];
- }
- } else {
- if (self.homePageSubjectType == RQHomePageSubjectType_SubjectTwo) {
- return @[group0, group2];
- } else if (self.homePageSubjectType == RQHomePageSubjectType_SubjectThree) {
- return @[group0, group3, group2];
- } else {
- return @[group0];
- }
- }
- }];
- }
- - (void)rq_configureData0 {
- @weakify(self)
- /// 第零组
- RQCommonGroupViewModel *group0;
-
- RQCommonGroupViewModel *group2 = [RQCommonGroupViewModel groupViewModel];
-
-
- if (self.homePageSubjectType == RQHomePageSubjectType_SubjectThree || self.homePageSubjectType == RQHomePageSubjectType_SubjectTwo) {
- group0 = [[RQHomeSubPageToolBarOneGroupViewModel alloc] initWithRQHomePageSubjectType:self.homePageSubjectType];
- group0.footerHeight = (RQ_SCREEN_WIDTH - (16 * 3)) / 4.f * (6.f / 4.f);
-
- if (self.homePageSubjectType == RQHomePageSubjectType_SubjectTwo) {
- group2.itemViewModels = [self.subjectTwoArr.rac_sequence map:^id _Nullable(NSString *titleStr) {
- @strongify(self)
- RQHomeSubPageNormalItemViewModel *item = [[RQHomeSubPageNormalItemViewModel alloc] init];
- item.icon = @"subject2_standart_icon";
- item.title = titleStr;
- item.itemSize = CGSizeMake(RQ_SCREEN_WIDTH, 44.f);
- item.bottomLineHide = [self.subjectTwoArr indexOfObject:titleStr] == self.subjectTwoArr.count + 1;
- item.operation = ^{
- @strongify(self)
- TRDetailVC *vc=[[TRDetailVC alloc]init];
- [vc setFile:titleStr];
- [self navPushHideTabbarToVC:vc];
- };
- return item;
- }].array;
- } else {
- group2.itemViewModels = [self.subjectThreeArr.rac_sequence map:^id _Nullable(NSString *titleStr) {
- @strongify(self)
- RQHomeSubPageNormalItemViewModel *item = [[RQHomeSubPageNormalItemViewModel alloc] init];
- item.icon = @"subject2_standart_icon";
- item.title = titleStr;
- item.itemSize = CGSizeMake(RQ_SCREEN_WIDTH, 44.f);
- item.bottomLineHide = [self.subjectThreeArr indexOfObject:titleStr] == self.subjectTwoArr.count + 1;
- item.operation = ^{
- @strongify(self)
- TRDetailVC *vc=[[TRDetailVC alloc]init];
- [vc setFile:titleStr];
- [self navPushHideTabbarToVC:vc];
- };
- return item;
- }].array;
- }
- } else {
- group0 = [RQHomeSubPageToolBarGroupViewModel groupViewModel];
- group0.footerHeight = RQ_FIT_HORIZONTAL(65.f);
- }
- group0.headerHeight = RQ_SHARE_FUNCTION.RQADViewHeight;
- RQHomeSubPageItemViewModel *homeSubPageItemViewModel = [[RQHomeSubPageItemViewModel alloc] initWithRQHomePageCarType:self.homePageCarType homePageSubjectType:self.homePageSubjectType];
- homeSubPageItemViewModel.itemSize = CGSizeMake(RQ_SCREEN_WIDTH, RQ_FIT_HORIZONTAL(359.f));
- homeSubPageItemViewModel.operation = ^{
-
- };
- group0.itemViewModels = (self.homePageSubjectType == RQHomePageSubjectType_SubjectThree || self.homePageSubjectType == RQHomePageSubjectType_SubjectTwo)? @[] : @[homeSubPageItemViewModel];
- RQCommonGroupViewModel *group3 = [RQCommonGroupViewModel groupViewModel];
- group3.headerHeight = 10.f;
- group3.headerHeight = 10.f;
- RQHomeSubPageNormalItemViewModel *item0 = [[RQHomeSubPageNormalItemViewModel alloc] init];
- item0.icon = @"subject3_light_ico";
- item0.title = @"灯光操作";
- item0.itemSize = CGSizeMake(RQ_SCREEN_WIDTH / 2.f - 8.f, 54.f);
- item0.operation = ^{
- LightingAndSoundVC *VC = [[LightingAndSoundVC alloc] init];
- VC.styleTag = 4;
- [self navPushHideTabbarToVC:VC];
- };
- item0.bottomLineHide = YES;
-
- RQHomeSubPageNormalItemViewModel *item1 = [[RQHomeSubPageNormalItemViewModel alloc] init];
- item1.icon = @"subject3_voice_icon";
- item1.title = @"语音模拟";
- item1.itemSize = CGSizeMake(RQ_SCREEN_WIDTH / 2.f - 8.f, 54.f);
- item1.bottomLineHide = YES;
- item1.operation = ^{
- LightingAndSoundVC *VC = [[LightingAndSoundVC alloc] init];
- VC.styleTag = 5;
- [self navPushHideTabbarToVC:VC];
- };
- group3.itemViewModels = @[item0, item1];
-
- RAC(self, dataSource) = [RACObserve(self, currentVideosArr) map:^(NSArray * treeListModelArr) {
- @strongify(self)
- if (self.currentVideosArr.count > 0) {
- /// 第一组
- RQHomeSubPageVideoHeaderGroupViewModel *group1 = [RQHomeSubPageVideoHeaderGroupViewModel groupViewModel];
- group1.headerHeight = 48.f;
- group1.footerHeight = CGFLOAT_MIN;
- group1.header = @"视频教程";
- group1.itemViewModels = [self dataSourceWithItems:self.currentVideosArr treeListModel:nil section:1];
- group1.currentVideoesArr = self.currentVideosArr;
- if (self.homePageSubjectType == RQHomePageSubjectType_SubjectTwo) {
- return group1.itemViewModels.count > 0? @[group0, group1, group2] : @[group0, group2];
- } else if (self.homePageSubjectType == RQHomePageSubjectType_SubjectThree) {
- return group1.itemViewModels.count > 0? @[group0, group1, group3, group2] : @[group0, group3 ,group2];
- } else {
- return group1.itemViewModels.count > 0? @[group0, group1] : @[group0];
- }
- } else {
- if (self.homePageSubjectType == RQHomePageSubjectType_SubjectTwo) {
- return @[group0, group2];
- } else if (self.homePageSubjectType == RQHomePageSubjectType_SubjectThree) {
- return @[group0, group3, group2];
- } else {
- return @[group0];
- }
- }
- }];
- }
- - (void)dataDealWithDataArr:(NSArray *)dataArr completion:(void (^)(NSArray *arr))completion {
- if (dataArr.count > 0) {
- for (id value in dataArr) {
- if ([value isKindOfClass:[NSArray class]]) {
- [self dataDealWithDataArr:value completion:completion];
- break;
- } else {
- completion(dataArr);
- break;
- }
- }
- } else {
- completion(dataArr);
- }
- }
- - (NSArray *)dataSourceWithItems:(NSArray *)items treeListModel:(RQTreeListModel *)treeListModel section:(NSInteger)section {
- NSArray *viewModels = [items.rac_sequence map:^(VideosItem *videosItem) {
- RQHomeSubPageVideoItemViewModel *homeSubPageVideoItemViewModel = [[RQHomeSubPageVideoItemViewModel alloc] initWithVideosItem:videosItem];
- CGFloat cellWidth = (RQ_SCREEN_WIDTH - (16 * 3)) / 2.f;
- homeSubPageVideoItemViewModel.itemSize = CGSizeMake(cellWidth, cellWidth * (122.f / 167.f));
- homeSubPageVideoItemViewModel.operation = ^{
- RQVideoDetailViewModel *videoDetailViewModel = [[RQVideoDetailViewModel alloc] initWithServices:RQ_APPDELEGATE.services params:@{
- RQViewModelUtilKey : treeListModel? treeListModel : self.currentVideosArr,
- RQVideoItemIndexKey : @(0),
- RQVideoItemIndexPathKey : [NSIndexPath indexPathForRow:[items indexOfObject:videosItem] inSection:section],
- RQHomePageSubjectTypeKey : @(self.homePageSubjectType),
- }];
- [RQ_APPDELEGATE.services pushViewModel:videoDetailViewModel animated:YES];
- };
- return homeSubPageVideoItemViewModel;
- }].array;
-
- return viewModels ?: @[];
- }
- - (void)getVideos {
- if (![Util connectedToNetWork]) {
- showMsgUnconnect();
- return;
- }
-
- NSMutableArray *aArray=[NSMutableArray array];
- [aArray addPro:@"chapterId" Value:[NSString stringWithFormat:@"%ld",self.homePageSubjectType + 1]];
- [aArray addPro:@"subject" Value:[NSString stringWithFormat:@"%ld",self.homePageSubjectType + 1]];
- [aArray addPro:@"isPage" Value:@"0"];
- [aArray addPro:@"pageSize" Value:@"0"];
- [aArray addPro:@"currentPage" Value:@"0"];
-
- NSString* method = @"getVideos";
-
- [jiaPeiManager requestAnythingWithURL:method array:aArray data:nil completion:^(NSDictionary *root) {
-
- NSDictionary *dic = @{
- @"body": @[@{
- @"chapter": @"1",
- @"content": @"交通信号灯",
- @"crdate": @"",
- @"id": @"19",
- @"image": @"http://lnxzzfile.oss-cn-beijing.aliyuncs.com/public/video/170906/1-1.jpg",
- @"playNum": @"",
- @"source": @"网络",
- @"subject": @"1",
- @"taglib": @"交通信号灯",
- @"times": @"400",
- @"title": @"【理论】交通信号灯_学车视频",
- @"vHtml": @"",
- @"videoPath": @"http://218.60.2.75:8081/sp/upload/1/1-1.mp4",
- @"videoType": @"1"
- }, @{
- @"chapter":@"1",
- @"content":@"交通标志",
- @"crdate":@"",
- @"id":@"20",
- @"image":@"http://lnxzzfile.oss-cn-beijing.aliyuncs.com/public/video/170906/1-2.jpg",
- @"playNum":@"",
- @"source":@"网络",
- @"subject":@"1",
- @"taglib":@"交通标志",
- @"times":@"1566",
- @"title":@"【理论】交通标志_ 学车视频",
- @"vHtml":@"",
- @"videoPath":@"http://218.60.2.75:8081/sp/upload/1/1-2.mp4",
- @"videoType":@"1"
- }, @{
- @"chapter":@"1",
- @"content":@"交通标线",
- @"crdate":@"",
- @"id":@"21",
- @"image":@"http://lnxzzfile.oss-cn-beijing.aliyuncs.com/public/video/170906/1-3.jpg",
- @"playNum":@"",
- @"source":@"网络",
- @"subject":@"1",
- @"taglib":@"交通标线",
- @"times":@"548",
- @"title":@"【理论】交通标线_学车视频",
- @"vHtml":@"",
- @"videoPath":@"http://218.60.2.75:8081/sp/upload/1/1-3.mp4",
- @"videoType":@"1"
- }, @{
- @"chapter":@"1",
- @"content":@"交通警察指挥手势信号",
- @"crdate":@"",
- @"id":@"22",
- @"image":@"http://lnxzzfile.oss-cn-beijing.aliyuncs.com/public/video/170906/1-4.jpg",
- @"playNum":@"",
- @"source":@"网络",
- @"subject":@"1",
- @"taglib":@"交通警察指挥手势信号",
- @"times":@"767",
- @"title":@"【理论】交通警察指挥手势信号_学车视频",
- @"vHtml":@"",
- @"videoPath":@"http://218.60.2.75:8081/sp/upload/1/1-4.mp4",
- @"videoType":@"1"
- }],
- @"code":@"0",
- @"msg":@"",
- @"other":@""
- };
-
- // root = dic;
-
- if (!root) {
- return ;
- }
-
- if ([root[@"code"] isEqualToString:@"1"]) {
- ShowMsg(root[@"body"]);
- return;
- }
-
- if ([root[@"body"] isKindOfClass:[NSArray class]]) {
- NSMutableArray *arr = @[].mutableCopy;
- for (NSDictionary *dic in root[@"body"]) {
- VideosItem *videoItem = [VideosItem videoItemModelWithDictionary:dic];
- if (arr.count < 4) {
- [arr addObject:videoItem];
- }
- }
- self.currentVideosArr = arr.copy;
- }
- }];
- }
- - (void)navPushHideTabbarToVC:(UIViewController *)vc {
- if (RQ_COMMON_MANAGER.YYXC_SERVICE_OPEN) {
- [RQControllerHelper.topNavigationController qmui_pushViewController:vc animated:YES completion:nil];
- } else {
- vc.hidesBottomBarWhenPushed = YES;
- [RQControllerHelper.topNavigationController qmui_pushViewController:vc animated:YES completion:nil];
- vc.hidesBottomBarWhenPushed = NO;
- }
- }
- - (NSArray *)subjectTwoArr {
- NSArray *arr = @[@"科目二小错误千万别大意",
- @"科目二到底考什么?全部都在这",
- @"科目二考试不过的原因大解析",
- @"侧方停车只是倒车速度慢一点,为什么判不过?",
- @"考官说扣分:“驾考科目二场考五项讲解全攻略”",
- @"科目二考试技巧口诀,小伙伴要记牢哦",
- @"科目二考试详细流程",
- @"科目二之直角拐弯",
- @"科目二考场温馨提示要点图",
- @"侧方停车技巧,超详细!",
- @"四张图让你秒变倒车界的独孤求败!",
- @"倒车入库再也不发愁,蜀黍教你各种倒车技巧!",
- @"科目二五项过关神技巧,超级详细!",
- @"因为这些挂掉,冤枉死!",
- @"科目二坡道,这些不良动作是你考试不过关的根源!",
- @"倒车入位用这三招,想怎么钻就怎么钻!",
- @"科目二失分点都在这,想过来看!",
- @"倒车入库究竟有多难?",
- @"学车入门级知识问题",
- @"科二全程解剖,让“菜鸟级”的你轻松通过考试",
- @"直角转弯操作技巧,一看秒懂",
- @"六张图,教会你“侧方停车”神技能",
- @"全程考试技巧汇总",
- @"坡道定点停车技巧(图解)",
- @"坡道定点找三十公分线的技巧方法",
- @"考驾照14条关键经验,学员含泪总结",
- @"科目二考前准备",
- @"科目二合格标准",
- @"科目二必过考试经验分享",
- @"坡道起步怎么预防倒溜和熄火?",
- @"科目二全程“难点”独家解析!",
- @"科二最难的:倒车入口+坡道起步独家秘笈",
- @"你必须注意的科目二考试须知!"];
- NSMutableArray *array = [NSMutableArray arrayWithArray:arr];
- NSMutableArray *dataArray = [NSMutableArray array];
- for (int i = 0; i < 6; i ++) {
- int index = arc4random()%(array.count - 1);
- [dataArray addObject:array[index]];
- [array removeObjectAtIndex:index];
- }
- return @[];
- return dataArray.copy;
- }
- - (NSArray *)subjectThreeArr {
- NSArray *arr = @[@"科目三考试评判标准,提前了解不失分",
- @"科目三原来是这样丢分的",
- @"三招提高科目三考试成功率",
- @"科目三考试详细流程",
- @"科三再升级“人考”改“机考”车内多名安全员",
- @"科目三--加减档位操作",
- @"夜考,用这几招轻轻松松过",
- @"科目三大路考之靠边停车小技巧",
- @"科目三:模拟夜间行驶场景灯光使用技巧",
- @"超详细科目三考试口令速记口诀!",
- @"控制科目三方向的几个生死关键点",
- @"2015年科目三考试新规则和扣分标准",
- @"科目三:路考超车须知",
- @"科目三:电子路考需要注意什么",
- @"科目三:老手教你靠边停车技术",
- @"科目三:路考变更车道须知",
- @"科目三:路考通过人行横道线须知",
- @"科目三:路考中14项细节必需注意",
- @"考试指南 - 科目三路考评判标准",
- @"考试指南 - 科目三路考秘诀",
- @"考试指南 - 科目三必过的考场经验分享",
- @"考试指南 - 科目三抽到夜间考试怎么办?",
- @"考试指南 - 夜考灯光使用攻略,看完就过了!",
- @"考试指南 - 科目三路考会车攻略"];
- NSMutableArray *array = [NSMutableArray arrayWithArray:arr];
- NSMutableArray *dataArray = [NSMutableArray array];
- for (int i = 0; i < 5; i ++) {
- int index = arc4random()%(array.count - 1);
- [dataArray addObject:array[index]];
- [array removeObjectAtIndex:index];
- }
- return @[];
- return dataArray.copy;
- }
- @end
|