如何从 UICollectionViewCell 引用 UICollectionView?

How to refer UICollectionView from UICollectionViewCell?

我可以从 UICollectionViewCell 引用 UICollectionView 吗? 我终于想从 UICollectionViewCell 中引用 ViewController。

以下代码在我的 CustomCollectionViewCell Class 中。 我想在此 class.

中存档推文支持
@IBAction func tweetBtnTapped(_ sender: Any) {
    let cvc = SLComposeViewController(forServiceType: SLServiceTypeTwitter)
    if let c = cvc {
        c.setInitialText("test tweet from iOS App")

        ### How can I refer ViewController??
        viewController = ???????

        if let vc = viewController {
            vc.present(c, animated: true, completion: nil)

        }
    }
}

请提供代码示例或您要实现的目标。我的理解是,当您对单元格执行某些操作时,您希望在视图控制器中返回一些操作。我说得对吗?

所以根据评论,自定义集合视图单元格:

class CustomeCell: UICollectionViewCell {

@IBAction func tweetButtonPressed() {

    let cvc = SLComposeViewController(forServiceType:SLServiceTypeTwitter)
    if let c = cvc {
        c.setInitialText("test tweet from iOS App")

        self.parentViewController?.presentViewController(c, animated: true, completion: nil)
    }

}

}

创建一个 Extension.Swift 文件:

导入 UIKit

扩展 UIView {

var parentViewController: UIViewController? {

    var parentResponder: UIResponder? = self

    while parentResponder != nil {
        parentResponder = parentResponder!.nextResponder()

        if let viewController = parentResponder as? UIViewController {

            return viewController

        }

    }

    return nil

}

}

这对我有用。祝一切顺利!