Через делегат, который вы так же создадите
protocol CellDelegate: class {
func didTapLayerButton(operation: String)
}
class Cell: UICollectionViewCell {
weak var delegate: CellDelegate?
...
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
let touch = touches.first
let point = touch!.location(in: self.view)
if plusLayer.path!.contains(point) {
delegate?.didTapLayerButton(operation: "plus")
} else if minusLayer.path!.contains(point) {
delegate?.didTapLayerButton(operation: "minus")
} else if ...
//и т.д.
}
}
А в вашем VC когда формируете ячейку в методе cellForRowAt, укажите делегата
cell.delegate = self
P.S. для передачи операции лучше использовать enum