我如何解析来自具有 2 个 CollectionView 的 UIViewController 的数据 swift

How can I parse data from a UIViewController having 2 CollectionViews with swift

如何解析来自具有 2 个不同 UICollectionView 的 UIViewController 的数据?我在 UIViewController 上有 2 个 UICollectionView。

我已经厌倦了使用 didSelectItemAt 和 performSegue 但它无法将数据解析到另一个屏幕

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    if segue.identifier == "showLineup" {
        
            
        let gidilecekShowVC = segue.destination as! lineupViewerVC
        
        gidilecekShowVC.showLineup = selectLineup1
       
    } else if segue.identifier == "showLineup2" {
        
        let gidilecekShowVC = segue.destination as! lineupViewer2VC
        
        gidilecekShowVC.showLineup2 = selectLineup2
       
    }
}

我知道 didSelectItemAt 是错误的,但我不知道正确的是什么。

func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
    
    selectLineup1 = ekranaYansitA1[indexPath.item]
    performSegue(withIdentifier: "showLineup", sender: nil)
    
    selectLineup2 = ekranaYansitA2[indexPath.item]
    performSegue(withIdentifier: "showLineup2", sender: nil)
  
}

我是初学者。预先感谢您的帮助

didSelectItemAt 有一个 collectionView 参数,它为您提供触发该方法的集合视图实例。

假设您有一个名为 lineup1CollectionViewIBOutlet,对第一个集合视图的引用,您可以执行检查

func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
    
    if collectionView == lineup1CollectionView {
        selectLineup1 = ekranaYansitA1[indexPath.item]
        performSegue(withIdentifier: "showLineup", sender: nil)
    } else {
        selectLineup2 = ekranaYansitA2[indexPath.item]
        performSegue(withIdentifier: "showLineup2", sender: nil)
    }
}