Я хочу использовать протоколы. У меня есть ячейки просмотра коллекции и коллекции, которые относятся к этому представлению коллекции. У меня есть кнопка в этой ячейке. Я хочу вызвать метод в классе collectionview (не класс ячейки), когда пользователь нажал эту кнопку.Использование протокола в Swift
я определяю мой мобильный класс с помощью следующего кода:
protocol testPro {
func replyClicked()
}
class MessageGalleryViewControllerCellCollectionViewCell: UICollectionViewCell {
var test1: testPro?
// ...
}
Затем, когда пользователь нажимает на кнопку системного вызова следующего метода в клеток класса.
func replyAction(sender:UIButton!)
{
test1?.replyClicked()
}
И мой класс коллекции вид:
class ReceivedPhotosViewController: UIViewController,UICollectionViewDelegateFlowLayout, UICollectionViewDataSource, testPro {
func replyClicked() {
print("clicked")
}
}
Но я не могу видеть, как журнал "щелкнул". Так что это не работает. В чем проблема?
Где вы устанавливаете 'testPro 'ячейки? Вы должны установить его обратно в контроллер представления в 'cellForItemAtindexPath' после создания экземпляра ячейки. – JAL
Можете ли вы объяснить больше? Также проверьте это: http: //prntscr.com/azjkdd –
'cell.test1 = self' – JAL