| | |
| | | class HomeListenFight_lesson_4_VC: BaseVC { |
| | | |
| | | private var viewModel = FightAnswerViewModel() |
| | | |
| | | private var listenNewModel:ListenNewModel! |
| | | private var page:Int! |
| | | var rootViewModel:HomeListenFightViewModel! |
| | | |
| | | private var answerIndex:IndexPath? //答案的Index |
| | | private var answerCount:Int = 0 //回答计数 |
| | | private var answerIndexs = Set<IndexPath>() //回答过的Index集合 |
| | | private var filterItems = [[Listen1SubModel]]() //此类型特殊,需要数据清理 |
| | | // private var isPlayedAnsterSet = Set<Int>() //已经播放了的 |
| | | |
| | | private lazy var stackView:UIStackView = { |
| | | let sta = UIStackView() |
| | |
| | | |
| | | func restore(){ |
| | | answerIndexs.removeAll() |
| | | answerCount = 0 |
| | | answerIndex = nil |
| | | for subView in view.subviews{ |
| | | if subView is Lesson_4_AnswerView{ |
| | |
| | | let answerId = answerModel!.id |
| | | self.rootViewModel.insertCorrectAnswer(teamId: teamId, answerId: answerId) |
| | | |
| | | |
| | | DispatchQueue.main.asyncAfter(deadline: .now()+2) { |
| | | self.voicePlayer.playerAt(url: tempSubV!.voiceUrl) |
| | | } |
| | | |
| | | //防止重复答题造成计数错误的问题 |
| | | if !answerIndexs.contains(answerIndex!){ |
| | | answerCount += 1 |
| | | rootViewModel.correctNum += 1 |
| | | let v = rootViewModel.answerCount.value + 1 |
| | | rootViewModel.answerCount.accept(v) |
| | |
| | | v.removeFromSuperview() |
| | | } |
| | | self.stackView.layoutIfNeeded() |
| | | |
| | | //回答完成,下一答题 |
| | | if self.answerIndexs.count == 2{ |
| | | let v = self.rootViewModel.answerCount.value + 1 |
| | | self.rootViewModel.answerCount.accept(v) |
| | | // self.rootViewModel.answerItems[self.page] = self.listenNewModel.subjectList[self.page] |
| | | self.voicePlayer.playerEnd() |
| | | NotificationCenter.default.post(name: NextLession_Noti, object: nil) |
| | | self.voicePlayer.playerEnd() |
| | | return |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | extension HomeListenFight_lesson_4_VC:VoicePlayerDelegate{ |
| | | func playComplete() { |
| | | self.view.isUserInteractionEnabled = true |
| | | |
| | | //回答完成,下一答题 |
| | | if answerIndexs.count == 2{ |
| | | voicePlayer.playerEnd() |
| | | NotificationCenter.default.post(name: NextLession_Noti, object: nil) |
| | | return |
| | | } |
| | | } |
| | | |
| | | func playing() { |