From 41aa6375f4086c3bbabd00c710c0734b25962d78 Mon Sep 17 00:00:00 2001 From: 无故事王国 <841720330@qq.com> Date: 星期日, 27 七月 2025 22:54:38 +0800 Subject: [PATCH] 修复BUG,修改逻辑 --- DolphinEnglishLearnStudent/Moudle/Home/HomeListenFight_lesson_1_VC.swift | 36 +++++++++++++++++++----------------- 1 files changed, 19 insertions(+), 17 deletions(-) diff --git a/DolphinEnglishLearnStudent/Moudle/Home/HomeListenFight_lesson_1_VC.swift b/DolphinEnglishLearnStudent/Moudle/Home/HomeListenFight_lesson_1_VC.swift index 1e1371f..797e206 100644 --- a/DolphinEnglishLearnStudent/Moudle/Home/HomeListenFight_lesson_1_VC.swift +++ b/DolphinEnglishLearnStudent/Moudle/Home/HomeListenFight_lesson_1_VC.swift @@ -27,9 +27,6 @@ private var isAnsterModel = [Listen1SubModel]() - //已回答过的题 - private var answerList = [Listen1SubModel]() - private var menuView:VoiceHandleView? private var handleClouse:(()->Void)? @@ -76,7 +73,6 @@ super.viewDidLoad() navigationItem.titleView = UIView() collectionView.reloadData() - print("加载======DidLoad") //回传记录,始终保持答题进度 // if let team = teamScheduleModel{ @@ -86,15 +82,21 @@ // } // } - //制造随机 - // listenNewModel.subjectList[page].shuffle() getNextAnswer(isFirst: true) menuView?.listenType = .lesson1 - DispatchQueue.main.asyncAfter(deadline: .now()+2) { - VoicePlayer.share().playerAt(url: self.randomElement?.correct) - self.menuView?.playing() - } + rootViewModel.currentPage.subscribe(onNext: {[unowned self] cpage in + if cpage == self.page{ + self.restore() + self.randomElement = self.listenNewModel.subjectList[self.page].randomElement() //随机抽题 + DispatchQueue.main.asyncAfter(deadline: .now()+2) { + VoicePlayer.share().playerAt(url: self.randomElement?.correct) + self.menuView?.playing() + } + } + }).disposed(by: disposeBag) + + } override func viewDidAppear(_ animated: Bool) { @@ -112,8 +114,7 @@ func restore(){ teamScheduleModel?.topicIds.removeAll() teamScheduleModel?.teamIds.removeAll() - answerList.removeAll() - rootViewModel.currentPage.accept(0) +// rootViewModel.currentPage.accept(0) rootViewModel.answerCount.accept(1) isAnsterDone = false isAnsterModel.removeAll() @@ -165,14 +166,13 @@ if randomElement != nil{ //如果已经回答,或标记为已回答(返回上一小题时) if isAnsterModel.contains(randomElement!){ - answerList.append(randomElement!) getNextAnswer();return } - //没有回答 - if !isAnsterModel.contains(randomElement!){ - isAnsterModel.append(randomElement!) - } +// //没有回答 +// if !isAnsterModel.contains(randomElement!){ +// isAnsterModel.append(randomElement!) +// } } menuView?.playUrl = randomElement?.correct @@ -284,6 +284,8 @@ weakSelf.handleClouse?() }).disposed(by: weakSelf.disposeBag) + weakSelf.isAnsterModel.append(weakSelf.listenNewModel.subjectList[weakSelf.page][index.row]) + DispatchQueue.main.asyncAfter(deadline: .now()+2) { VoicePlayer.share().playerAt(url: weakSelf.listenNewModel.subjectList[weakSelf.page][index.row].correct) } -- Gitblit v1.7.1