Ну, я пытаюсь сделать регистрационную форму.Моя проблема в том, что в ячейке раздела не отображается правильная информация в разделах, она показывает всю информацию в разделах ... ммм Я думаю, что-то пропустил в ячейке для строки.
Итак, мой код будет выглядеть примерно так:
UITableViewDataSource
extension IEKRegistrationPage3Controller: UITableViewDataSource {
func numberOfSections(in tableView: UITableView) -> Int {
return 3
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 10
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "IEKRegistrationPage3GraduateCell", for: indexPath) as! IEKRegistrationPage3GraduateCell
// Graduate
if let graduate = Graduate(rawValue: indexPath.row) {
cell.updateLayout(withTitle: graduate.description, isSelected: [graduate] == iekRegistrationFormData.graduate)
}
if let student = Student.init(rawValue: indexPath.row) {
cell.updateLayout(withTitle: student.description, isSelected: [student] == iekRegistrationFormData.student)
}
return cell
}
}
Также вот UITableViewDelegate
extension IEKRegistrationPage3Controller: UITableViewDelegate {
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
// Graduate
tableView.deselectRow(at: indexPath, animated: true)
if indexPath.section == 0 {
if let graduate = Graduate(rawValue: indexPath.row) {
iekRegistrationFormData.graduate = [graduate]
}
}
// Student
tableView.deselectRow(at: indexPath, animated: true)
if indexPath.section == 1 {
if let student = Student(rawValue: indexPath.row) {
iekRegistrationFormData.student = [student]
}
}
// Engilsh
tableView.deselectRow(at: indexPath, animated: true)
if indexPath.section == 2 {
// TODO
}
tableView.reloadData()
}
}
и, наконец, titleForHeaderInSection
func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? {
// Graduate
if section == 0 {
return "ΑΠΟΦΟΙΤΟΣ"
}
// Student
if section == 1 {
return "ΦΟΙΤΗΤΗΣ"
}
// Engilsh
if section == 2 {
return "ΑΓΓΛΙΚΑ"
}
return nil
}