如何从tableview部分中仅选择一个单元格

时间:2018-08-30 08:44:13

标签: ios uitableview

我用过UITableViewSection。所以我已经列出了我需要的数据。

但是在选择UITableViewCell时出现了问题。

这是我选择单元格时的代码。

这是屏幕截图

**this is the screen shot**

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
    print("Section \(indexPath.section), Row : \(indexPath.row)")

    let model = questionViewModel.titleForHeaderInSection(atsection:indexPath.section)
    print(model.question)

    // reviewViewModel.question = model.id
    print(model.id)

    let value: Int = model.id
    let string = String(describing: value)
    //let x: Int? = Int(model.id)

    questionViewModel.question_id = string
    questionViewModel.question = model.question

    let optiondatasourcemodel:NH_OptionDataSourceModel = NH_OptionDataSourceModel(array: questionViewModel.tableArray[indexPath.section] as? [String] )
    print(optiondatasourcemodel.dataListArray?.count)

    let optionviewmodel:NH_OptionViewModel = NH_OptionViewModel(withdatasource: optiondatasourcemodel)
    let optionmodel =   optionviewmodel.datafordisplay(atindex:indexPath)

    let modele = questionViewModel.titleForHeaderInSection(atsection: indexPath.section)
    print(modele.buttontype)
    optionviewmodel.button = modele.buttontype

    let cell = tableview.cellForRow(at: indexPath) as? NH_QuestionListCell
    print(questionViewModel.questionlist)
    print(questionViewModel.questions)
    print(questionViewModel.answers)

    questionViewModel.question(answer:questionViewModel.question_id!)
    questionViewModel.answer(answer: optionmodel.values!)
    questionViewModel.questionlist(answer: questionViewModel.question!)

    if optionviewmodel.button == "1" {
        cell?.imagebutton.setImage(UIImage(named: "checkbox_check.png"), for: .normal)
        self.selected = 1
        questionViewModel.imagename = "1"
    }
    else if optionviewmodel.button == "2" {
        self.selected = 1
        cell?.imagebutton.setImage(UIImage(named: "radio_check.png"), for: .normal)
        questionViewModel.imagename = "2"
    }
}

根据屏幕截图,有两个问题,有两个选项。从那我只需要选择一个选项。 例如:您是否还好:-问题   答案:是的

仅选择一个单元格。 一旦我选择“是”并且我选择了“否”选项,那么数据应该从阵列中删除。

func tableView(_ tableView: UITableView, didDeselectRowAt indexPath: IndexPath) {
    let optiondatasourcemodel:NH_OptionDataSourceModel = NH_OptionDataSourceModel(array: questionViewModel.tableArray[indexPath.section] as? [String] )
    print(optiondatasourcemodel.dataListArray?.count)

    let optionviewmodel:NH_OptionViewModel = NH_OptionViewModel(withdatasource: optiondatasourcemodel)
    let optionmodel =   optionviewmodel.datafordisplay(atindex:indexPath)

    let modele = questionViewModel.titleForHeaderInSection(atsection: indexPath.section)
    print(modele.buttontype)
    optionviewmodel.button = modele.buttontype

    let cell = tableview.cellForRow(at: indexPath) as? NH_QuestionListCell
    print(optionmodel.values)

    questionViewModel.removequestion(question:questionViewModel.question!)
    questionViewModel.removeanswer(answer:optionmodel.values!)
    questionViewModel.removequestionid(removequestionid:questionViewModel.question_id!)


    let model = questionViewModel.titleForHeaderInSection(atsection:indexPath.section)
    print(model.question)

    // reviewViewModel.question = model.id
    print(model.id)

    let value: Int = model.id
    let string = String(describing: value)
    //let x: Int? = Int(model.id)

    questionViewModel.question_id = string
    questionViewModel.question = model.question
    questionViewModel.answer = optionmodel.values

    if optionviewmodel.button == "1" {
        cell?.imagebutton.setImage(UIImage(named: "checkbox_uncheck.png"), for: .normal)
        self.selected = 1
        questionViewModel.imagename = "1"
    }
    else if optionviewmodel.button == "2" {
        self.selected = 1
        cell?.imagebutton.setImage(UIImage(named: "radio_uncheck.png"), for: .normal)
        questionViewModel.imagename = "2"
    }
}

这是代码。 但是据此有些问题。 问题:-

  1. 当我选择第二部分时表示..... 问题:-你开心吗 为此,我选择选项为yes。当时,我已经针对第一个问题选择了一个选项yes。复选框图像将显示为click。 但是当我选择下一个问题时,第一个问题单元格的复选框图像消失了。如何解决该问题。

  2. 在选择第二个问题选项数据时未将其追加到数组中。

  3. 当我取消选择相同的单元格时会追加

那么如何解决该问题?

0 个答案:

没有答案
相关问题