iOS-Programmieren lernen (2) – weiter geht’s 


Inzwischen bin ich in Kapitel 3 des fantastischen Buches Beginning iPhone Development with Swift von David Mark et al. angelangt. Hier wird nun erklärt, wie die Verbindung zwischen der graphischen Repräsentation (view) im Interface-Builder und der zugehörigen Controller-Datei hergestellt wird.

Das Wichtigste hierbei sind vermutlich die beiden Begriffe „Outlet“ und „Action“. Ist ja auch schon mal hilfreich zu wissen, wonach man googlen muss, um Tutorials zu finden … 😉

  • Randbemerkung: Die Dateinamen und Bezeichnungen unten beziehen sich auf ein neues Projekt mit Single View Application-Template ohne besondere Anpassungen.
  • Ein Outlet ist eine speziell getaggte Variablendeklaration in der zur view (Grafische Ansicht in Main.storyboard) gehörenden Controller-Datei (Programmtext in ViewController.swift).
    Diese Variable stellt eine Repräsentation des Grafikobjektes dar und wird beim Ausführen automatisch mit dem zugehörigen visuellen Objekt im Interface Builder  verbunden. 
    Durch Änderung der Attribute (z.B. text) dieser Variablen wird das zugehörige Interface-Objekt verändert 
    – ohne, dass man etwas dafür tun müsste. Erkennbar sind outlet-Variablen am vorangestellten Schlüsselwort @IBOutlet.
  • Am einfachsten erzeugt man so eine Outlet-Variable (in der Assistentenansicht) durch Auswählen des gewünschten Objektes im Interface Builder, dann gleichzeitiges Drücken auf [ctrl] und [Maustaste], und Ziehen des jetzt erscheinenden Pfeiles auf die Zielposition in der Controller-Datei. Am einfachsten ist das in der Assistenten-Ansicht (rechtes oben einstellbar), dort werden Interface Builder und Code-Editor nebeneinander dargestellt. Es öffnet sich ein Fenster, in dem Verbindungsattribute gesetzt werden können. Auf jeden Fall sollte hier ein passender Name vergeben werden.
  • Actions sind Funktionen, die durch Benutzerinteraktion ausgelöst werden. Funktion ist dabei im Sinne des programmiersprachlichen Konstruktes gemeint. Auch sie werden am einfachsten durch [ctrl] + [Maustaste] + Ziehen der Maus in den Editorbereich erzeugt – dort muss dann im Popup statt Outlet Action ausgewählt werden. An dieser Stelle wird eine neue Funktion eingefügt, die  gekennzeichnet ist durch vorangestelltes @IBAction. In den Funktionsrumpf wird die gewünschte Reaktion programmiert.
  • Man hat nur dann die Möglichkeit, eine Action zu erstellen, wenn es sich auch um ein Manipulationsobjekt handelt, z.B. einen Button. Bei Labels wird diese Option nicht angeboten.

Im weiteren Verlauf des Kapitels wird der Umgang mit Grafik-Constraints zur automatischen Positionierung beschrieben. 

Advertisements

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s