Swift 如何在UICollectionViewController内触发UICollectionViewCell的函数?

Swift 如何在UICollectionViewController内触发UICollectionViewCell的函数?,swift,xcode,uicollectionview,uikit,uicollectionviewcell,Swift,Xcode,Uicollectionview,Uikit,Uicollectionviewcell,我想在作为UICollectionViewController的BreathingWPipingController中触发animation3()函数(它是UICollectionViewCell()中的一个函数) class BreathingSwipingController: UICollectionViewController, UICollectionViewDelegateFlowLayout { var pageCell: PageCell? 重写func viewDidLoa

我想在作为UICollectionViewController的BreathingWPipingController中触发animation3()函数(它是UICollectionViewCell()中的一个函数)

class BreathingSwipingController: UICollectionViewController, UICollectionViewDelegateFlowLayout {

var pageCell: PageCell?
重写func viewDidLoad(){

@objc func STARTSTOPTTAPPED()命令{

}


}

通过制定协议,使
PageCell
成为
呼吸擦拭控制器的代表

protocol BreathingSwipingDelegate: class {
 func doSth()
}
class PageCell:  BreathingSwipingDelegate .... {

func doSth() {
animation3()

}
var mController = BreathingSwipingController()
override init(style: .....) { 
mController.delegate = self
.
.
.
.
}
}
现在在
UICollectionViewController
中定义一个
弱var委托:呼吸擦拭委托?

然后转到
PageCell
文件并遵守该协议

protocol BreathingSwipingDelegate: class {
 func doSth()
}
class PageCell:  BreathingSwipingDelegate .... {

func doSth() {
animation3()

}
var mController = BreathingSwipingController()
override init(style: .....) { 
mController.delegate = self
.
.
.
.
}
}
现在在
呼吸wipingcontroller
中执行以下操作

@objc func startStopTapped() {

        delegate?.doSth()
}