Я использовал UITableViewSection
. Поэтому я перечислил данные, которые мне были нужны.
Но проблема в выборе UITableViewCell
.
Это мой код при выборе ячейки.
это снимок экрана
![**this is the screen shot**](https://i.stack.imgur.com/NwtM7.png)
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"
}
}
согласно скриншоту есть два вопроса и два варианта. Из этого мне нужно выбрать только один вариант.
EX: у тебя все хорошо?
Ответ: -д
просто выберите только одну ячейку.
Как только я выберу «да» и не выберу ни один вариант, данные должны быть удалены из массива.
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"
}
}
это код.
Но в соответствии с этим некоторые проблемы.
Проблемы: -
когда я выбираю второй раздел, что означает .....
вопрос: ты счастлив?
для этого я выбрал опцию как да. В то время, я уже для первого вопроса, я выбрал один вариант, как да. И изображение флажка будет отображаться как щелчок.
Но пока я выбираю следующий вопрос, изображение флажка в ячейке первого вопроса исчезает. Как исправить эту проблему.
при выборе второго варианта вопроса данные не добавляются в массив.
добавляется, когда я отменяю выбор той же ячейки
Так как решить проблему?