Unsere Datenschutzrichtlinie wird in Kürze aktualisiert. Bitte sehen Sie sich die Vorschau an.

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

Ein Label über den Code ändern

Testen Sie unsere 2013 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
Um ein Label im Code zu ändern, muss es mit einer Variable im Code verbunden sein. Dieser Film zeigt, wie man ein Benutzeroberflächenobjekt über ein Outlet mit dem Code verbindet und wie man den Code benutzt, um das Objekt zu verändern.

Transkript

Über das Storyboard oder über diese Inspektoren hier kann man Bestandteile einer Oberfläche, einer View, beliebig verändern, auch mit einem Doppelklick beispielsweise, man kann sie hier verschieben und ähnliche Dinge machen. Aber das sind Sachen, die sozusagen statisch sind. Sehr oft ist es notwendig, dass man Komponenten der Oberfläche, beispielsweise ein Label, dynamisch zur Laufzeit ändert. Beispielsweise der Anwender klickt auf einen Button und dann soll ein Label beschriftet werden in einer anderen Art und Weise. Das heißt, wir müssen in den Code hinab, um eine dynamische Änderung von Eigenschaften einer Komponente durchzuführen. Wir schauen uns jetzt an, wie das geht. Dazu verwenden wir sowohl das Storyboard als auch den Code von dem sogenannten Controller, dem View Controller. Das ist hier diese ".swift"-Datei und die schauen wir uns nebeneinander an. Damit wir ein bisschen Platz haben, schaffen wir hier rechts und links ein wenig Raum in XCode und jetzt sehen wir hier die visuelle Repräsentation der View als auch den Code des Controllers. Nun ist es so, dass zum Ansprechen von einer Komponente, wie beispielsweise einem Label, es notwendig ist, dass diese Komponente im Code über einen Namen repräsentiert wird. Ich persönlich empfinde es als eine ganz große Schwäche im Konzept hier von der iOS-Entwicklung mit SWIFT, dass nicht automatisch alle Komponenten der Oberfläche, die Sie hier in der View im Storyboard sehen, hier im Code des Controllers über eine Variable repräsentiert werden. Das ist in vielen Konzepten automatisch der Fall. Was eine große Stärke hingegen ist, ist die Art und Weise, wie Sie hier eine Verknüpfung zwischen diesen grafischen Objekten hier in der Oberfläche und dem Controller Code vornehmen können. Das ist genial in XCode. Ich bin sozusagen zwiegespalten, ich würde mir wünschen, dass die Komponenten automatisch hier im Controller bereits auftauchen, über irgendwelche Objektvariablen, aber da das nun mal nicht der Fall ist, die Art und Weise, wie es jetzt verküpft wird, ist wirklich absolut genial. Denn man muss nichts anderes machen, als eine gewünschte Komponente anklicken, beispielsweise mit der rechten Maustaste, und dann kann man eine sogenannte Connection hier zu diesem Controller aufbauen. Das heißt, Sie sehen hier so eine Linie und diese Linie sagt, ich baue jetzt eine Verknüpfung zwischen der View, einem Bestandteil der View, und dem Controller auf. Und sobald ich jetzt die rechte Maustaste loslasse, kann ich die Art der Connection festlegen. Ich lass mal alles soweit in der Grundeinstellung, ich lasse hier eine sogenannte Outlet, ich kann hier auch noch etwas anderes angeben, aber das soll momentan keine Rolle spielen. Ich habe einen bestimmten Typ und ich habe eine sogenannte schwache, eine "weak"-Connection. Das Einzige, was wir eingeben werden, ist der Name von dem Objekt über das im Code nachher der Zugriff erfolgt. Ich nenne das Ding jetzt mal "meinLabel" und ich gehe auf "Connect". Das heißt, Sie sehen jetzt hier ist neuer Code im Controller entstanden. Das ist ein Objekt von einem ganz bestimmten Typ, das soll erstmal nicht weiter vertieft werden, aber Sie sehen es ist ein "UILabel" und die Angaben hier vorne sind einfach generiert worden, an der Stelle möchte ich mich darum nicht kümmern. Wichtig ist jetzt hier diese Schaltfläche beziehungsweise dieses Symbol im Controller-Editor, denn sobald Sie mit der Maus da drüber gehen, sehen Sie das verknüpfte Objekt hier in der View. Und das heißt, Sie sehen es gibt hier eine Beziehung zwischen diesem Label und dieser Variable, die Sie hier in dem Controller jetzt haben. Diese Variable können Sie jetzt überall benutzen, wo es interessant ist. Beispielsweise bei Aktionen, ein Anwender klickt auf einen Button und dann wird eine Aktion, eine Action ausgelöst und das Label wird verändert. Man kann es aber auch noch viel einfacher machen, das heißt, es gibt hier eine Methode, man nennt das hier eine sogenannte Methode, die beim Laden der App ausgeführt wird. Diese Methode "viewDidLoad" heißt "die App wird geladen", genau genommen wird die View geladen, was ja die visuelle Repräsentation der App ist, und dann kann man zu diesem Zeitpunkt gewisse Dinge ausführen, bespielsweise eben eine Modifizierung des Labels, sofern es mir hier über diese Variable zur Verfügung steht. Wir haben hier einen Kommentar, diese zwei Slashes bilden in SWIFT eine Kommentarzeile, und danach schreibe ich den Namen von meinem Label mal hin, "meinLabel". Und Sie sehen, die Code-Vervollständigung von XCode, Intellisense mal genannt, mit einem kleinen Seitenhieb auf eine andere Technologie, diese Intellisense kennt diese Variable und Sie können die bereits bestätigen, sobald es eindeutig erkannt wird, mit "Return". Und dann ist die Farbe von diesem Bezeichner auch kein Zufall, Grün, in der Einstellung, die ich hier habe von XCode, sagt, das ist eine bekannte Variable, ich weiß, was das ist, das ich ein Bezeichner, der ist gültig, den kann ich hier zur Verfügung stellen. Das ist so die Aussage, was dieses Grün heißt. Natürlich taucht jetzt eine Fehlermeldung auf, ich habe meine Codezeile noch nicht vervollständigt. Wir haben in SWIFT Dot-Notation, das heißt Punkt-Notation, um auf Eigenschaften, Methoden eines Objektes zuzugreifen. Das heißt, ich notiere hier einfach einen Punkt und dann die Eigenschaft, die ich modifizieren möchte. Und es hat sich über sämtliche mir bekannten Programmiertechniken eingebürgert, dass die Beschriftung von einem Label "Text" heißt. Das heißt, ich gebe hier ein "T" ein und dann bekomme ich bereits dieses "Text" hier angezeigt. Ich kann wieder "Return" drücken oder ich mache einen Doppelklick mit der Maus oder so irgendwas oder schreibe es auch aus, dann habe ich die Eigenschaft, die ich modifizieren möchte, und mit einem Gleichheitszeichen weise ich einen Wert zu. Ich muss einen String nehmen und ein String wird in doppelte Hochkomma eingeschlossen und dann kann ich hier - was weiß ich - "dynamischer Text" oder so hinschreiben, irgendwas, es spielt keine Rolle. Das bedeutet, Sie sehen natürlich hier zur Design-Zeit diese Änderung nicht. Das hier sind Entwurfs-Eigenschaften, die Sie hier sehen also das sind Eigenschaften, die statisch sind, die man im Inspektor oder in dieser Storyboard vorgibt, und das hier sind dynamische Laufzeiteigenschaften. Und die werden eben erst dann sichtbar, wenn ich die App ausführe. Das heißt, ich kann sie jetzt eben mal im Simulator ausführen. Dazu steht hier wie üblich in XCode die Schaltfläche zur Verfügung oder "Cmd+R" als Tastaturkürzel und Ihnen sollte auffallen, dass ich nicht gespeichert habe. Das heißt, die IDE kümmert sich automatisch jetzt, dass die Änderungen, die ich hier vorgenommen habe, auch gespeichert werden. Ich klicke jetzt einfach hier auf diese Schaltfläche, ich warte einen Augenblick, bis die App dann da ist, sie wird gebuildet, sprich erzeugt, und nach einer gewissen Weile sollte diese App sichtbar sein. Das kann durchaus etwas länger dauern, das hängt davon ab, wie leistungsfähig Ihr Rechner ist und noch einige andere Sachen, aber irgendwann ist dann diese App da. Ich muss jetzt ein bisschen scrollen, weil ich habe nicht skaliert, und Sie sehen hier den Text. Sie sehen auch, dass der Text, den ich dynamisch hier in dieses Label hineingeschrieben habe, nicht ganz hineinpasst. Ich kann selbstverständlich auch die Größe von dem Label dynamisch anpassen. Ich möchte das jetzt mal so belassen, das ich es einfach hier vergrößere und dann würde der Text jetzt auch vollständig da sichtbar sein. Aber das ist nur ein kleines Randphänomen, was keine Rolle spielt. Im Gegenteil, es zeigt vielleicht sogar noch besser, dass nur die Eigenschaften dynamisch verändert werden, die ich explizit im Code anspreche. Um es zusammenzufassen, Sie können jede Komponente in der View, im Storyboard im Code ändern, wenn sie änderbar ist, indem Sie eine Eigenschaft ansprechen, die Sie ändern wollen, beispielsweise Text, und einen Bezeichner wählen, der für eine Variable steht, die aber explizit erst einmal verknüpft werden muss mit der Komponente, die Sie hier in der View haben. Es gibt dabei durchaus noch viel, viel mehr Wege, wie man diese Verknüpfung vornehmen kann. Das, was Sie hier gesehen haben, das heißt das Rüberziehen mit der rechten Maustaste, ist nur ein sehr, sehr komfortabler Weg und das finde ich wirklich genial in XCode, dass man das so machen kann. Aber es gibt, wie gesagt, noch beileibe mehr Möglichkeiten und wenn Sie später weiter fortgeschritten sind, vielleicht entscheiden Sie sich auch für einen anderen Weg. aber dieser hier, den Sie gesehen haben, in diesem Video, ist wirklich einfach und genial.

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
Erscheinungsdatum:05.05.2017

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!