首页 文章

当prepareForSegue调用同一个VC并且VC包含tableView和anthers两个segue动作按钮时,按钮动作segue不起作用

提问于
浏览
0

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:当按下另一个动作segue按钮时发出信号SigBArt错误

1 回答

  • 0

    如果让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
    
    
    
    
        }
    }
    
    }
    

相关问题