Ios 未从集合视图调用prepareForSegue

Ios 未从集合视图调用prepareForSegue,ios,swift,uicollectionview,Ios,Swift,Uicollectionview,我正在一个视图控制器中实现多个集合视图。很好用。在collection视图中,当我调用didSelect方法时,我必须将ID传递给下一个视图控制器。我使用了prepareforsgue,但它没有调用 代码如下: func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) { if collectionView == self.FirstCollectionvie

我正在一个视图控制器中实现多个集合视图。很好用。在collection视图中,当我调用didSelect方法时,我必须将ID传递给下一个视图控制器。我使用了
prepareforsgue
,但它没有调用

代码如下:

func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
    if collectionView == self.FirstCollectionview
    {
    }
    else
    {
        let index : Int = indexPath.row
        let idvalues = info[index].category_id
        print("values",idvalues as Any)
        self.performSegue(withIdentifier: "DATA", sender: self)
    }
}

func prepareForsegue(segue: UIStoryboardSegue, sender: AnyObject) {
    if segue.identifier == "DATA" {
        let detailsview = segue.destination as? DetailsViewController
        detailsview?.id = sender as! String
        print("sendervalue",sender as Any)
    }else
    {
        print("not this ")
    }
} 
这是第二个视图控制器:

class DetailsViewController: UIViewController {
    var iddata : String = ""

    override func viewDidLoad() {
        super.viewDidLoad()

        print("IDValues",iddata as Any)
    }
IDValues的值为空。
如何将id传递给下一个视图控制器?

方法签名不正确。它应该如下所示

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

}

方法签名不正确。它应该如下所示

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

}

@卡玛兰Tq非常节省我的时间它工作fine@kamaran非常感谢你为我节省了时间工作很好