J'ai finalement découvert le délégué, j'ai donc rédigé un mémorandum.
Il est pratique à utiliser lorsque vous souhaitez utiliser de petites pièces telles que des boutons, mais que vous souhaitez traiter différemment pour chaque page.
Cette fois, j'utiliserai les boutons ci-dessous. À partir de la gauche, "Bouton Retour", "Bouton Commentaire" et "Bouton Suivant". Je souhaite utiliser cette classe de boutons sur différentes pages.
[Chose que vous voulez faire] Je veux changer l'action de pression du bouton pour chaque page. Lorsque vous appuyez sur le bouton retour, une page passe à l'écran précédent et une autre page se termine en mode modal. Ou pour les autres pages, je souhaite enregistrer la page avant de fermer la page. etc
[Solutions] Écrivez l'action de pression sur le bouton sur chaque page La partie conception du bouton peut être partagée, mais la fonction de la partie action est déléguée à chaque page. C'est le rôle du délégué, qui se traduit par «transfert».
[manière]
FooterView.swift
protocol TapLeftButtonVCDelegate {
func tapLeftButton()
}
protocol TapCenterButtonVCDelegate {
func tapCenterButton()
}
protocol TapRightButtonVCDelegate {
func tapRightButton()
}
ViewController.swift
//Puisque je veux utiliser uniquement le bouton droit sur cette page, je déclare uniquement le protocole pour le bouton droit.
@IBOutlet weak var footerView: FooterView!
override func viewDidLoad() {
super.viewDidLoad()
footerView.tapRightButtonVCDelegate = self
}
extension ViewController: TapRightButtonVCDelegate {
func tapRightButton() {
//Passez à l'écran suivant, enregistrez le processus, écrivez ce que vous voulez
}
}
class FooterView: UIView {
var tapRightButtonVCDelegate: TapRightButtonVCDelegate?
@IBAction func tapRightButton(_ sender: Any) {
tapRightButtonVCDelegate?.tapRightButton()
}
}
Vous pouvez maintenant réutiliser le bouton sur différentes pages.
[Impression] C'était comment utiliser le délégué du point de vue de l'usage. Il peut y avoir d'autres moyens pratiques de l'utiliser.
Recommended Posts