获取segue的indexPath

问题描述 投票:-1回答:1

我正在为某些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) 

每次都返回零。

ios swift segue
1个回答
0
投票

要么您没有在performSegue方法中作为发送者传递任何东西,要么您传递的东西不是UITableViewCell的实例或其子类。

© www.soinside.com 2019 - 2024. All rights reserved.