首页 > 解决方案 > swift中的错误'线程1:断言失败'

问题描述

运行项目时,出现以下错误: 在此处输入图像描述

委托部分似乎有错误,但我不知道如何解决。在 tableView 和 pickerView 中使用了委托。这是我的代码:

    func bindViewModel() {
        let input = MainViewModel.Input(loadData: loadData.asSignal(onErrorJustReturn: ()))
        let output = viewModel.transform(input: input)
        
        output.loadData.bind(to: tableView.rx.items(cellIdentifier: "mainCell", cellType: MainCell.self)) { row, element, cell in
            cell.nameLbl.text = element.nickname
            cell.titleTxtField.text = element.title
            cell.contentTxtView.text = element.description
            cell.postImage.image = UIImage(named: element.media)
            cell.timeLbl.text = element.date
            cell.sirenBtn.rx.tap.subscribe(onNext: { _ in
                self.selectIndexPath.accept(row)
            }).disposed(by: self.disposeBag)
            
        }.disposed(by: disposeBag)
    }
    
    func setUI() {
        let cell = MainCell()
        
        doneBarButton.rx.tap.subscribe(onNext: { _ in
            let selectRow = self.pickerView.selectedRow(inComponent: 0)
            self.sequencePicker.text = self.sequenceData[selectRow]
            self.sequencePicker.resignFirstResponder()
            self.areaPicker.text = self.areaData[selectRow]
            self.areaPicker.resignFirstResponder()
        }).disposed(by: disposeBag)
        
        cell.moreBtn.rx.tap.subscribe(onNext: { _ in
            let actionSheet = UIAlertController(title: "siren?", message: "", preferredStyle: .actionSheet)
            let action = UIAlertAction(title: "ok", style: .default, handler: nil)
            
            actionSheet.addAction(action)
            self.present(actionSheet, animated: true, completion: nil)
        }).disposed(by: self.disposeBag)
        
        tableView.delegate = self
        tableView.dataSource = nil
        tableView.register(MainCell.self, forCellReuseIdentifier: "mainCell")
        tableView.rowHeight = 150
    }
      func pickerBind() {
        pickerView.delegate = self
        pickerView.dataSource = nil
        sequencePicker.inputView = pickerView
        areaPicker.inputView = pickerView
        
        _ = Observable.just(sequenceData).bind(to: pickerView.rx.itemTitles) { _, item in return "\(item)" }

    }

问题是什么?

标签: iosswiftrx-swift

解决方案


推荐阅读