[ЧТО Я ХОЧУ] Я хочу разработать функциональность, при которой при нажатии кнопки начального ViewController с именем BdaysV C (первое изображение) появляется табличное представление (второе изображение) и когда Я нажимаю строку tableView, она возвращается к ViewController, передавая значение activeSortingMode
. Если я нажму на непрозрачное представление, оно только отклонит tableView без передачи какого-либо значения.
[ЧТО У меня есть] Код, который я использовал для реализации tableView:
class SortTableView: NSObject, UITableViewDelegate, UITableViewDataSource {
...
func createViews (frame:CGRect) {
// Creating an opaque view and a tableView and adding them above the BdaysVC
}
...
@objc func onClickTransparentView() {
// Dismissing the tableView when touching the opaque view
}
...
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
...
switch indexPath.row {
case 0:
// Change the activeSortingMode of BdaysVC to 0
case 1:
// Change the activeSortingMode of BdaysVC to 1
case 2:
// Change the activeSortingMode of BdaysVC to 2
case 3:
// Change the activeSortingMode of BdaysVC to 3
default:
print("sorting mode")
}
}
...
override init() {
super.init()
...
tableView.delegate = self
tableView.dataSource = self
...
}
}
А для ViewController:
class BdaysVC: UIViewController {
...
var activeSortingMode: Int = 0
...
let sortTableView = SortTableView()
@IBAction func sortButtonClicked(_ sender: Any) {
sortTableView.createViews(frame: self.view.frame)
}
override func viewWillAppear(_ animated: Bool) {
...
retrieveSections(sortingMode: activeSortingMode)
}
override func viewDidLoad() {
super.viewDidLoad()
...
retrieveSections(sortingMode: activeSortingMode)
}
}
[ПРОБЛЕМА] Моя проблема в том, что я не знаю, как изменить значение activeSortingMode
из ViewController
, когда выбрана ячейка из tableView
, и перезагрузить ViewController
методом viewWillAppear()
.
Надеюсь, вы поможете мне с этим вопросом. Заранее спасибо!