Я хочу сохранить выделение из таблицы, выбрал строку, поэтому я могу передать ее в UILabel. Я пытался сохранить строку как ссылку и сохранить выбранную строку, после чего я передал ссылку в метку, но она не работает. Это мой код настройки, мой cellForRow и didSelectRow. Мои saveSelectedClass и saveSelectedSubject не работают, когда я пытаюсь передать его в моей функции reloadV C, в то время как в моем didSelectRow уже сохраняют его
@IBOutlet weak var classContainer: UIView!
@IBOutlet weak var classNameLbl: UILabel!
@IBOutlet weak var classTableView: UITableView!
@IBOutlet weak var classDownArrowIV: UIImageView!
@IBOutlet weak var subjectContainer: UIView!
@IBOutlet weak var subjectNameLbl: UILabel!
@IBOutlet weak var subjectDownArrowIV: UIImageView!
@IBOutlet weak var subjectTableView: UITableView!
var selectedIndexPath = IndexPath(row: 0, section: 0)
var selectedClass: String?
var selectedSubject: String?
func reloadVC() {
ClassService.shared.getClassId { result in
switch result {
case .success(let classes):
self.classes.removeAll()
self.classes = classes
self.classNameLbl.text = self.selectedClass
self.selectedId = classes.first?.id
case .failure(let error):
print(error)
break
}
}
ClassService.shared.getSubjectData(classId: selectedId ?? "", date: selectedDay ?? "") { result in
switch result {
case .success(let subjects):
self.subjects.removeAll()
self.subjects = subjects
self.subjectNameLbl.text = self.selectedSubject
case .failure(let error):
print(error)
}
}
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
if tableView == classTableView {
if indexPath == selectedIndexPath {
selectedClass = classes[indexPath.row].name
tableView.reloadData()
}
}
if tableView == subjectTableView {
if indexPath == selectedIndexPath {
selectedSubject = subjects[indexPath.row].subjectName
tableView.reloadData()
}
}
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
if tableView == classTableView {
let cell = tableView.dequeueReusableCell(withIdentifier: "classCellId", for: indexPath)
let className = classes[indexPath.row]
cell.textLabel?.text = className.name
return cell
}
if tableView == subjectTableView {
let cell = tableView.dequeueReusableCell(withIdentifier: "subjectCellId", for: indexPath)
let item = subjects[indexPath.row]
cell.textLabel?.text = item.subjectName
return cell
}
return UITableViewCell()
}
extension GASViewController: JKCalendarDelegate {
func calendar(_ calendar: JKCalendar, didTouch day: JKDay) {
selectedDate = day
selectedDay = selectedDate.date.toString()
reloadVC()
calendar.reloadData()
}
}