Ich möchte Protokolle verwenden. Ich habe eine Sammlungsansicht und Sammlungsansichtszellen, die zu dieser Sammlungsansicht gehören. Ich habe einen Knopf in dieser Zelle. Ich möchte eine Methode in der CollectionView-Klasse (nicht in der Zellklasse) aufrufen, wenn der Benutzer auf diese Schaltfläche klickt.Mit Protokoll in Swift
Ich definiere meine Zellklasse mit folgendem Code:
protocol testPro {
func replyClicked()
}
class MessageGalleryViewControllerCellCollectionViewCell: UICollectionViewCell {
var test1: testPro?
// ...
}
dann, wenn der Benutzer tippt auf Knopfsystem calling folgende Methode in Zellklasse.
func replyAction(sender:UIButton!)
{
test1?.replyClicked()
}
And My Sammlung Ansicht Klasse:
class ReceivedPhotosViewController: UIViewController,UICollectionViewDelegateFlowLayout, UICollectionViewDataSource, testPro {
func replyClicked() {
print("clicked")
}
}
Aber ich kein Protokoll wie "geklickt" sehen kann. Es funktioniert also nicht. Wo ist das Problem?
Wo setzen Sie die Zelle "testPro"? Sie müssen es nach dem Instanziieren der Zelle in 'cellForItemAtindexPath' auf den View-Controller zurücksetzen. – JAL
Können Sie mehr erklären? Überprüfen Sie auch dies: http: // printscr.com/azjkdd –
'cell.test1 = selbst' – JAL