我正在为某些segue动作获取现有单元的indexPath。
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "EditItem" {
let controller = segue.destination as! TimerSelectViewController
controller.delegate = self
if let indexPath = tableView.indexPath(for: sender as! UITableViewCell) {
controller.itemToEdit = timers[indexPath.row]
}
}
}
但是,每当我单击单元格时,都会显示nil并且应用程序崩溃。我不明白为什么
if let indexPath = tableView.indexPath(for: sender as! UITableViewCell)
每次都返回零。
要么您没有在performSegue方法中作为发送者传递任何东西,要么您传递的东西不是UITableViewCell的实例或其子类。