无法将 'UITableViewCell' 类型的值转换为 Swift 中的 'NSIndexPath'
Could not cast value of type 'UITableViewCell' to 'NSIndexPath' in Swift
我在表格视图中显示数据,我在它的 TableViewCell
上添加了一个 show segue 点击我以便移动到 DetailsController
并通过点击 [=16] 传递单元格的数据=] 到参数中的另一个控制器。
这是 segue 代码:
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
performSegue(withIdentifier: "toDetails", sender: indexPath)
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
let indexPath = sender as! IndexPath
let indice = indexPath.row as NSInteger
let nomCandidat = "candidats"
let detailsViewController = segue.destination as! DetailsViewController
detailsViewController.idtrip = 10
}
我确定了 segue 标识符是正确的。
错误:
Could not cast value of type UITableViewCell
to NSIndexPath
您不能将 indexPath
作为发件人参数发送。 sender:
是触发 segue 的 UI 元素,在本例中是 UITableViewCell。
因此,您在发件人中发送 tableViewCell 实例,例如:
guard let cell = tableView.cellForRowAt(indexPath: indexPath) else {return}
//alternatively
//let cell = tableView.cellForRowAt(indexPath: indexPath)!
performSegue(withIdentifier: "toDetails", sender: cell)
我在表格视图中显示数据,我在它的 TableViewCell
上添加了一个 show segue 点击我以便移动到 DetailsController
并通过点击 [=16] 传递单元格的数据=] 到参数中的另一个控制器。
这是 segue 代码:
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
performSegue(withIdentifier: "toDetails", sender: indexPath)
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
let indexPath = sender as! IndexPath
let indice = indexPath.row as NSInteger
let nomCandidat = "candidats"
let detailsViewController = segue.destination as! DetailsViewController
detailsViewController.idtrip = 10
}
我确定了 segue 标识符是正确的。
错误:
Could not cast value of type
UITableViewCell
toNSIndexPath
您不能将 indexPath
作为发件人参数发送。 sender:
是触发 segue 的 UI 元素,在本例中是 UITableViewCell。
因此,您在发件人中发送 tableViewCell 实例,例如:
guard let cell = tableView.cellForRowAt(indexPath: indexPath) else {return}
//alternatively
//let cell = tableView.cellForRowAt(indexPath: indexPath)!
performSegue(withIdentifier: "toDetails", sender: cell)