Как добавить пользовательское удовольствие c в существующий протокол? - PullRequest
0 голосов
/ 29 апреля 2020

У меня есть UICollectionView, когда я реализую UICollectionViewDelegate, я получаю функции, предоставляемые Swift, например:

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

В моем UICollectionViewCell я помещаю значок закрытия и я ищу способ добавить свою пользовательскую функцию didCloseItemAt , например:

func collectionView(_ collectionView: UICollectionView, didCloseItemAt indexPath: IndexPath)

Возможно ли это? как?

Ответы [ 2 ]

0 голосов
/ 29 апреля 2020

Вы можете расширить протокол и сохранить форму, чтобы писать ее везде.

extension UICollectionViewDelegate {
    func collectionView(_ collectionView: UICollectionView, didCloseItemAt indexPath: IndexPath) { 
        // Write your code in here
    }
}

Это настолько мощно, что теперь вы можете вызывать этот метод в любом объекте, который соответствует UICollectionViewDelegate, и он будет всегда запускайте код. Вам нужно написать это только один раз!

0 голосов
/ 29 апреля 2020

Вы можете создать свой собственный протокол, который включает UICollectionViewDelegate.

protocol YourCollectionProtocol: UICollectionViewDelegate {
    func collectionView(_ collectionView: UICollectionView, didCloseItemAt indexPath: IndexPath)
}

Затем используйте этот протокол вместо UICollectionViewDelegate.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...