Для этого есть четыре шага: -
1. Сначала создайте протокол, скажем «CustomCellDelegate» в вашей пользовательской ячейке, где вы используете collectionview внутри, и создайте переменную, которая будет содержать пользовательский делегат простов качестве примера предположим, что вашим именем ячейки является CustomCell, создайте CustomCellDelegate и объявите его как customDelegate
protocol CustomCellDelegate : class {
func Method1()
}
class CustomCell : UITableViewCell {
var customDelegate : CustomCellDelegate?
}
2. Затем вам нужно запустить этот делегат из класса CustomView. Метод делегирования collectionView didSelectItem.*
3. В-третьих, присвойте customDelegate контроллеру представления, в который вы хотите получить делегата, например, myViewController, здесь
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "customeCellIdentifier", for: indexPath) as! CustomCell
cell.customDelegate = self // myViewController
return cell
}
4.Отправьте делегата в вашем контроллере представления следующим образом
extension myViewController : CustomCellDelegate {
func Method1() {
print("Method 1 called")
}
}
Надеюсь, это решит вашу проблему, дайте мне знать, если вы найдете этот ответ полезным. Ура !!