当在同一个 VC 和 VC 中调用 prepareForSegue 包含 tableView 和花药两个 segue 操作按钮时,按钮操作 segue 不起作用

Button action segue doesn't work when prepareForSegue call in the same VC and VC contains tableView and anthers two segue action button

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {

    self.selectedIndexPath = indexPath as NSIndexPath

    performSegue(withIdentifier: "toAddToChart", sender: nil)
}



 open override func prepare(for segue: UIStoryboardSegue, sender: Any?) {

    let indexPath = self.selectedIndexPath
    let product = products[indexPath.row]


    if (segue.identifier == "toAddToChart") {
        if  let viewController = segue.destination as? AddToOrderVC  {




        viewController.productName = product.productName
        viewController.productCode = product.productCode
        viewController.productType = product.productType
        viewController.productPrice = product.productPrice
        viewController.productDetails = product.productDescription
        viewController.pImageUrl = product.productimageUrl




    }
}

}

/当我从 viweController 中删除 prepareForSegue 函数时,它会起作用,但是当我应用它并构建代码后,我得到线程 1:signal 当按下另一个动作 segue 按钮时出现 SigBArt 错误

当让 product = products[indexPath.row] 用确认标识符在 segue 的外面调用,它会产生一个错误,所以这个错误是

 open override func prepare(for segue: UIStoryboardSegue, sender: Any?) {

    let indexPath = self.selectedIndexPath



    if (segue.identifier == "toAddToChart") {
        if  let viewController = segue.destination as? AddToOrderVC  {

        let product = products[indexPath.row]

        viewController.productName = product.productName
        viewController.productCode = product.productCode
        viewController.productType = product.productType
        viewController.productPrice = product.productPrice
        viewController.productDetails = product.productDescription
        viewController.pImageUrl = product.productimageUrl




    }
}

}