| | |
| | | |
| | | private var isAnsterModel = [Listen1SubModel]() |
| | | |
| | | //已回答过的题 |
| | | private var answerList = [Listen1SubModel]() |
| | | |
| | | private var menuView:VoiceHandleView? |
| | | private var handleClouse:(()->Void)? |
| | | |
| | |
| | | super.viewDidLoad() |
| | | navigationItem.titleView = UIView() |
| | | collectionView.reloadData() |
| | | print("加载======DidLoad") |
| | | |
| | | //回传记录,始终保持答题进度 |
| | | // if let team = teamScheduleModel{ |
| | |
| | | // } |
| | | // } |
| | | |
| | | //制造随机 |
| | | // 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) { |
| | |
| | | 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() |
| | |
| | | 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 |
| | |
| | | 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) |
| | | } |