如何将collectionView数据发送到swift3中的另一个ViewController?

时间:2017-06-13 01:22:27

标签: ios xcode swift3 uiviewcontroller collectionview

我想要我的集合查看数据(list.assets_id)想要解析DetailChannel

func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {

        vedioId = id

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

    if segue.identifier == "detailChannel"{

        let destinationVC = segue.destination as! DetailsChannel
        destinationVC.vedio_id = vedioId
    }
}

在我的DetailChannel中,

override func viewDidLoad() {
        super.viewDidLoad()
        debugPrint("DetailsChannel:::::\(vedio_id)")

        if let stringVideo = vedio_id {
            print(stringVideo)
        }
}

但是我的项目没有工作,也没有调用func prepare()。如何解决?

1 个答案:

答案 0 :(得分:0)

  

我猜你已经从segue添加了CollectionViewCell   DetailChannel。删除segue

现在从segue 不是CollectionViewController )添加CollectionViewCellDetailChannel。如果您不知道如何添加它,请按以下步骤操作:

  1. 首先从CollectionViewController进行控制拖动 DetailChannel然后放手。 visualize here

  2. 然后选择segue并为其命名(对您而言 detailChannel )。 visualize here

  3. 现在在collectionView(_:didSelectItemAt:)方法中添加以下行:

        performSegue(withIdentifier: "detailChannel", sender: self)
    

    我希望你的prepare(for:sender:)现在被调用。