Ich habe eine Schaltfläche in meiner Sicht Klasse versucht, eine Auswahlfunktion aus einer separaten Klasse hinzuzufügen, wie folgt:Swift 3: Unerkannte Selektor Instanz gesendet
class ProfileView: UIView {
createAccountButton.addTarget(self, action: #selector(ProfileViewController.createAccountClicked), for: .touchUpInside)
}
class ProfileViewController: UIViewController {
func createAccountClicked() {
print("button press")
}
}
Ich bin ein Unbekannter Selektor Fehler bekommen, wenn ich versuche auf diese Methode außerhalb von ProfileView
verweisen. Allerdings funktioniert es, wenn ich einfach createAccountClicked()
in ProfileView
setzen und rufen:
createAccountButton.addTarget(self, action: #selector(self.createAccountClicked), for: .touchUpInside)
statt. Meine Frage ist - Ist es möglich, eine Funktion aus einer separaten Klasse aufzurufen? Oder wäre nur die Funktion in der gleichen Klasse das richtige Designmuster?
Mit 'addTarget' am Ort der' self' müssen Sie den Verweis von 'ProfileViewController' passieren. –
'ProfileViewController.self' funktioniert! –