App-Entwicklung mit iOS Grundkurs 1: Meine erste eigene App

Verbindung von Outlets und Aktionen

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Es gibt mehrere Möglichkeiten, um Verbindungen zwischen Benutzeroberflächenobjekten und Code in der iOS-Entwicklung aufzubauen. Dieser Film zeigt einige Möglichkeiten, unter denen man seinen Favoriten auswählen kann.

Transkript

Um eine visuelle Komponente in der View mit einer Variable im Controller zu verbinden, gibt es einen ganz einfachen Weg. Man kann mit der rechten Maustaste von der View, von der Komponente der View, in den Controller hineinziehen und dann wird dort eine Verbindung aufgebaut, aber das ist nur eine Möglichkeit. Sie sehen jetzt, dass es auch andere Möglichkeiten gibt, die insbesondere dann sehr sinnvoll sind, wenn Sie diese beiden Fenster, also die View und den Controller, nicht nebeneinander sehen. Ich habe hier eine App mit einem Label und dieses Label möchte ich jetzt mit dem Controller verbinden, also über eine Variable dort bereitstellen. Beachten Sie, dass ich dieses Label hier über den Size Inspector bezüglich der Breite so eingestellt habe, dass sich die Größe automatisch an den Inhalt anpasst. Das ist oft sehr sinnvoll, wenn man nicht genau weiß, was in dem Label drinstehen wird, also wenn man dynamisch zum Beispiel in das Label hineinschreibt, aber das ist nur eine kleine Randbemerkung. Gehen wir es an, dass wir jetzt dieses Label hier im Code verfügbar machen, das heißt, ich gehe zu meiner Controller-Datei. Die kann ich mit einem Doppelklick in einem neuen Fenster öffnen oder aber ich klicke sie einfach an und dann wird sie hier in dem Editor-Bereich von Xcode direkt angezeigt. Sie sehen, das ist nur das, was Xcode beim Anlegen eines neuen Projektes automatisch generiert. Da steht noch nichts anderes drin. Nun werde ich hier im Controller etwas SWIFT-Code notieren. Ich beginne mit dem At-Zeichen, dann schreibe ich "IB", I-B, und wähle "Outlet" aus. Ganz kurz zu diesem "IB", diesem I-B hier, das steht für "Interface Builder". Das war in der Historie von Xcode ein uraltes Tool, was man zur Generierung von Oberflächen genutzt hat und es lebt sozusagen in einer Art Tradition jetzt hier noch in dem Namen dieser Klassen weiter. Das aber nur als Randbemerkung, falls Sie sich fragen, warum hier immer wieder dieses IB, dieses I-B, auftaucht. Ich möchte jetzt ein "IBOutlet" hier anlegen. Wir deklarieren eine Variable, ich nenne sie "meinLabel" und die ist von Typ "UILabel" und da folgt noch ein Ausrufezeichen. Dieses Ausrufezeichen hier ist jetzt eine Besonderheit von SWIFT, die aussagt, dass diese Variable, die ich hier anlegen kann, NULL sein kann, aber ich weiß, dass sie es nicht ist. Eine sehr eigenartige Denkweise für manche Einsteiger, aber das bedeutet, dass man zu einem gewissen Zeitpunkt einen Nullzustand akzeptiert, wenn man weiß, dass er sich irgendwann in einen definierten Zustand überführt, beispielsweise beim Erstellen von Oberflächen, wenn gewisse Schritte ablaufen, bevor Variablen bereits einen Wert bekommen haben, aber es zwingend ist, dass spätere Schritte diese Vervollständigung vornehmen. Das ist einfach ein Syntaxkonstrukt, dass dann der Compiler nicht mit Fehlern hergeht. Dass diese Variable in unserem Fall auf jeden Fall einen Wert haben wird, ergibt sich daraus, dass wir noch eine Verbindung zum Storyboard, zu der Komponente im Storyboard, schaffen werden. Und deswegen können wir sozusagen zusichern, dass diese Variable tatsächlich einen Wert haben wird. Dabei möchte ich es hierbei belassen, um nicht zu tief in SWIFT einsteigen zu müssen. Nun gibt es eine interessante Stelle hier, die wir uns etwas genauer ansehen sollten. Hier ist nämlich ein Kreis, ein nicht gefüllter Kreis, entstanden und der wird uns noch weiter beschäftigen jetzt. Gehen wir kurz zurück zum Storyboard. Es gibt hier den sogenannten Connections Inspector und Sie sehen, dass hier noch keine Connections, keine Verbindungen, aufgebaut sind. Das erkennen Sie daran, dass hier auch diese Kreise auftauchen, aber eben diese Kreise sind nicht gefüllt. Das sagt, es sind eben noch keine Verbindungen. Es sind Verbindungspunkte, aber noch keine bestehenden Verbindungen. Diese Verbindungen können wir jetzt auf mehrere Weisen anlegen. Hier oben haben Sie einen Zugang zum View Controller und wenn Sie da draufklicken, dann sehen Sie hier Outlets und noch einige weitere Informationen, aber vor allen Dingen eben diese Outlets. Alternativ können Sie hier über diese Schaltfläche auch zwischen dem View Controller und dem Storyboard hin- und herstellen. Sie müssen auf irgendeine Art und Weise eben diese Anzeige hier bekommen und eben vor allen Dingen dieses Outlet "meinLabel", womit wir ja jetzt eine Verbindung herstellen wollen. Warum taucht jetzt dieses Label hier auf? Naja, wir haben das eben durch die Deklaration als Interface-Builder-Outlet genauso hier in dem Controller deklariert. Und deswegen taucht das hier bei "Outlets" auf. Nur wir haben eben noch keine Verbindung zwischen dieser Variable im Controller und eben diesem Label hergestellt. Wenn Sie hier mit der Maus zum Beispiel über die View streichen, dann sehen Sie, dass im Storyboard die View connected ist, sie wird hier hervorgehoben, highlighted. Und bei meinem Label passiert noch gar nichts, das Label wird noch nicht hervorgehoben, aber sobald wir jetzt diese Connection aufbauen, wird das auch passieren. Ich klicke einfach jetzt in diesen Kreis und ziehe es auf mein Label. Und damit haben wir diese Verbindung. Und jetzt sehen Sie, sobald ich hier mit der Maus auf "meinLabel" gehe, dann wird das im Storyboard hell hervorgehoben, highlighted. Und Sie sehen hier, dass auch dieser Kreis jetzt gefüllt ist. Damit ist eine Connection aufgebaut. Natürlich wird sich das auch im Controller jetzt zeigen. Sie sehen hier, der Kreis ist gefüllt. Angenommen Sie wollen jetzt so eine Verbindung wieder lösen. Das geht ganz einfach: Sie haben hier so ein kleines "x", wenn Sie da draufklicken, hier, wird automatisch die Verbindung beseitigt. Nun können wir uns auch die beiden Fenster für das Storyboard und den Controller so nebeneinander legen und hier, wenn Sie im Controller auf den derzeit nicht gefüllten Kreis klicken, einfach mit der Maus auf das Label rüberziehen, und damit wird auch eine Verbindung aufgebaut. Sie sehen es, dass der Kreis jetzt gefüllt ist. Sie haben also gesehen, dass man die Verbindung zwischen der Variable im Controller-Code und dem Objekt im Storyboard in der View auf verschiedene Art und Weisen anlegen kann. Es wird dann in Xcode auch auf verschiedene Weise dargestellt, also beispielsweise durch so einen Punkt hier in einem Kreis oder an einigen anderen Stellen, wenn man mit der Maus drüberfährt, wird hier auch eine Komponente visuell hervorgehoben.

App-Entwicklung mit iOS Grundkurs 1: Meine erste eigene App

Ihr Einstieg ohne Vorwissen: Unternehmen Sie die ersten Schritte zur eigenen iOS-App.

2 Std. 8 min (21 Videos)
Derzeit sind keine Feedbacks vorhanden...
Hersteller:
Software:
Exklusiv für Abo-Kunden
Ihr(e) Trainer:
Erscheinungsdatum:05.05.2017
Laufzeit:2 Std. 8 min (21 Videos)

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!