Swift 如何检测 UITableView 中的单元格选择?

How to detect cell selection in UITableView in Swift?

如何在我的 Swift 应用程序中实施 didSelectRowAtIndexPath: 或类似的东西?

我有一个包含多个动态单元格的填充 Table 视图,我想在选定某个单元格后更改视图。

我可以在 Objective-C 中了解它,但是 google 上没有任何东西可以帮助我 Swift!

您可以在 Swift 中使用 didSelectRowAtIndexPath:

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
    NSLog("You selected cell number: \(indexPath.row)!")
    self.performSegueWithIdentifier("yourIdentifier", sender: self)
}

只需确保实施 UITableViewDelegate

这就是我在实现 cellForRow、numberOfRowsInSection 和 numberOfSectionsInTable 后设法从 UITableView 单元格转到其他视图控制器的方法。

//to grab a row, update your did select row at index path method to:

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { 
    NSLog("You selected cell number: \(indexPath.row)!");

    if indexPath.row == 1 {
        //THE SEGUE 
        self.performSegue(withIdentifier: "goToMainUI", sender: self)
    }
}

将输出:You selected cell number: \(indexPath.row)!

记得将故事板中的 segue 标识符与函数中的标识符相匹配,例如 goToMainUI

使用以下代码以编程方式为 collectionView select 索引“0”处的单元格。

self.collectionView.reloadData()
DispatchQueue.main.async {
  self.collectionView(self.collectionView, didSelectItemAt: IndexPath(item: 0, section: 0))
}