Чтобы получить данные выбранной строки в ячейке TableView в Swift, вы можете использовать следующие методы:
-
Использование IndexPath:
if let indexPath = tableView.indexPathForSelectedRow { let rowData = dataArray[indexPath.row] // Process rowData as needed } -
Использование DidSelectRowAt:
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { let rowData = dataArray[indexPath.row] // Process rowData as needed } -
Использование шаблона делегата:
- Создайте протокол для делегата:
protocol TableViewDelegate: class { func didSelectRow(data: YourDataType) } - В классе TableViewCell определите свойство делегата:
weak var delegate: TableViewDelegate? - В методе DidSelectRowAt TableView назначьте делегата:
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { let cell = tableView.cellForRow(at: indexPath) as? YourTableViewCell let rowData = dataArray[indexPath.row] cell?.delegate?.didSelectRow(data: rowData) } - Наконец, реализуйте метод делегата в ViewController:
extension YourViewController: TableViewDelegate { func didSelectRow(data: YourDataType) { // Process data as needed } }
- Создайте протокол для делегата: