通过Segue将对象从表视图单元格传递到另一个视图控制器

时间:2019-05-04 23:17:04

标签: swift uitableview object segue

为了从表视图控制器转移到视图控制器,我尝试编写下面的代码。

override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath){
   let donation = donations[indexPath.row]
   print(donation)
   self.performSegue(withIdentifier: "showDonationReviewForm", sender: Any?)
}

在上面,当我打印donation时,它会正确打印对象及其相关字段。我知道有时需要使用override func prepare(for segue...,但是我不知道如何将捐赠对象传递给下一个控制器。

1 个答案:

答案 0 :(得分:0)

您可以尝试

performSegue(withIdentifier: "showDonationReviewForm", sender:donations[indexPath.row])

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    if segue.identifier == "showDonationReviewForm" {
        if let nextViewController = segue.destination as? NextViewController {
            nextViewController.toSend =  sender as! Donation 
        }
    }
}

class NextViewController :UIViewController {
   var toSend:Donation?
   ....
}

假设donationsDonation模型的数组