Я согласен с Давидом Пассором, но помогу вам впервые.Вам нужно реализовать делегат UITableView.Я думаю, что это будет выглядеть так:
class TableViewController: UIViewController {
@IBOutlet var tableView: UITableView!
var selectedIndexPath: IndexPath?
override func viewDidLoad() {
super.viewDidLoad()
tableView.delegate = self
}
}
extension TableViewController: UITableViewDelegate {
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
selectedIndexPath = indexPath
}
}
PS Для UICollectionView это то же самое, но вам нужно реализовать UICollectionViewDelegate и выглядеть так:
class ViewController: UIViewController {
@IBOutlet var collectionView: UICollectionView!
var selectedIndexPath: IndexPath?
override func viewDidLoad() {
super.viewDidLoad()
collectionView.delegate = self
}
}
extension ViewController: UICollectionViewDelegate {
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
selectedIndexPath = indexPath
}
}
PS Если вы этого не сделаетенужно знать момент, когда ячейка была нажата, тогда вы можете использовать indexPathForSelectedRow (@rmaddy)