Я делаю приложение для студентов старших классов. В этом представлении пользователь должен иметь возможность выбрать единицы, которые он хочет изучить для определенного предмета, и индексный путь выбранных единиц будет сохранен в массиве int и передан следующему представлению для отображения изображений. К сожалению, метод didSelectRowAt
по какой-то причине не отвечает.
Делегат и источник данных установлены правильно, я знаю, что он не вызывается, когда я написал оператор print в функции, и ничего не было напечатано в консоли, когда я щелкаю по любой ячейке таблицы.
var units = [String]()
var selectedRows = [Int]()
override func viewDidLoad() {
super.viewDidLoad()
tableView.delegate = self
}
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return units.count
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "unitCell", for: indexPath) as! UnitCell
cell.textLabel?.text = units[indexPath.row]
return cell
}
func tableView(tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
selectedRows.append(indexPath.row)
print(selectedRows)
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
let destination = segue.destination as! ImageView
destination.folderNames = selectedRows
}
Я ожидаю массив int индексов строк выбранных ячеек. Но сейчас он просто пуст.