auf den @ dashblinkenlight Antwort erweitern:
Ein IBAction ist ein Link von einer Steuerung zu einem Stück Code, der ausgeführt wird, wenn der Benutzer auslöst, dass die Steuerung .
Ein IBOutlet ist ein Link in die andere Richtung, von Ihrem Code zum Steuerelement.
Sie müssen eine Aktion und Verknüpfung von Ihrem Steuerelement zu Ihrer Quelle definieren, wenn ein Steuerelement Ihren Code aufrufen soll, wenn der Benutzer damit interagiert.
Sie müssen eine Steckdose und einen Link von Ihrem Quellcode zu Ihrem Steuerelement definieren, wenn Ihr Code mit dem Steuerelement interagieren soll.
Sie brauchen also manchmal beide, wie in diesem Fall.
Interface Builder bietet verschiedene Möglichkeiten zum Definieren und Verknüpfen von Steckdosen. Am einfachsten finde ich es, Interface Builder in den Haupteditorbereich zu setzen und den Assistenten-Editor im "automatischen" Modus einzurichten, so dass die Header-Datei für den View-Controller angezeigt wird, der den ausgewählten View-Controller definiert.
Dann ziehe ich control-ziehen von der Kontrolle (oder anderen View-Objekt) in die Header-Datei, und wählen Sie "outlet". Xcode fügt dem Quellcode eine IBOutlet
Deklaration hinzu und macht die IBOutlet
Verbindung.
Ich mache das gleiche für die Definition von Aktionen, nur dieses Mal sage ich IB, eine Aktion zu erstellen, keine Steckdose. In diesem Fall erstellt Xcode die Deklaration für die IBAction enter code here
in der Header-Datei und auch eine leere "stub" -Aktionsmethode in der .m-Datei.
(wenn Sie mit Swift dann Header und Implementierung Sie keine Dateien haben, so gibt es nicht 2 Plätze sind, die Aktion zu definieren.)
Sie benötigen einen Ausgang, keine Aktion, wenn Sie zugreifen möchten die Taste. – rmaddy
Wenn ich das tue, was wäre der beste Weg, um meine Verkleinerung Funktion auf Knopfdruck aufzurufen? – 221b
Die Aktion dient zur Handhabung der Schaltfläche tippen. Die Steckdose dient dazu Dinge an den Knopf zu tun. – rmaddy