Swift 2 lernen

Der Unterschied zwischen Konstanten und Variablen

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Apple empfiehlt, konstante Werte wann immer möglich auch als Konstante zu deklarieren. Der Code könne so besser vom Compiler optimiert werden. Was Konstanten sind und wie man sie erzeugt, klärt dieses Video.
05:59

Transkript

In diesem Video beschäftigen wir uns mit Konstanten, und was der Unterschied zu Variablen ist. Also auch hier starten wir mit einem Playground "Konstanten", wir machen wieder einen für die iOS-Plattform, und legen ihn in unserem File-System ab. Ja, was sehen wir? Wir sehen einen Playground mit einer Variablen namens str, und wir haben dort diesen String, diese Zeichenkette zugewiesen. Das heißt, was eine Variable auch verspricht, wird sie sicherlich halten, ich darf diesem String auch gerne einen anderen Wert zuweisen, und das funktioniert ganz prima. Also var war ja das Schlüsselwort, um Variablen in Swift zu erzeugen. Wie sieht es nun aus mit diesen Konstanten? Eine Konstante erzeugen wir, indem wir dieses Schlüsselwörtchen hier oben ändern, und sagen, aus einer Variablen hätten wir gerne eine Konstante gemacht, indem wir das Schlüsselwort let verwenden. Jetzt ist auch etwas da namens str, und das dürfen wir auch gerne im Playground verwenden, und wir sehen, da wird auch der Wert ausgegeben. Es hat also auch einen Typ, und über Type Inference wurde hier der Typ String vergeben, aber es ist eine Konstante, das heißt, ich darf nicht mehr hier sagen, "Lieber String, du hast jetzt einen anderen Inhalt", da bekommen wir einen auf die Finger, schon vom Compiler, auch hier im Playground: Cannot assign to 'let' value 'str' also zu einem let, was eine Konstante eben ist, kann ich später keinen Wert mehr ändern. Ansonsten ist das mit diesen Konstanten genauso wie mit den Variablen, wir dürfen also sagen, unser Auto fährt, und das wäre eine Konstante vom Typ Bool, und die ist eben true, ja, und dann darf ich eben an der Stelle später nicht mehr hergehen, und sagen, unser Auto fährt nicht mehr, denn ich würde ja damit dann diese Konstante ändern wollen, das darf ich ja nur, wenn es eine Variable wäre, dann darf ich also Werte wieder ändern, als Konstante darf ich es eben nicht, und dennoch darf ich sie genauso erzeugen, wie jede andere Variable auch, ich darf auch sagen, wir haben hier einen Betrag, und der Betrag wäre ein Double, und er beträgt 123,53, das ist auch absolut gültig, Eine Konstante haben wir geschaffen für unseren Betrag, und den Wert dürfen wir eben jetzt nicht mehr ändern. Selbstverständlich gilt auch hier "Type Inference", das heißt, wenn Swift es kann, und das geht ja hier an dieser Stelle sehr sauber, wird natürlich über den zugewiesenen Wert automatisch auf den Datentyp Double geschlossen, so dass ich es hier auch so schreiben kann, um gleiche Funktionalität zu haben. Aber manchmal fühlt man sich als Entwickler vielleicht wohler, wenn wir auch den Typ ganz konkret hier angeben. Ja, für diejenigen, die von Objective-C kommen, die haben sich ja immer, ja, hätte ich fast gesagt, damit auseinandersetzen müssen, um nicht rumgeärgert sagen zu wollen, und zwar mit diesen mutable Strings und inmutable Strings, mutable Arrays und inmutable Arrays, also genau diesem: "Ich bin ein konstantes Array, und meine Werte kannst du nicht ändern". und wenn du ein Array haben willst, wo du Werte hinzufügen kannst, ändern, löschen kannst, dann musst du bitte ein mutable Array machen, oder einen mutable String, wenn er sich denn später über die Laufzeit noch verändern soll. Genau diese Problematik unterschiedlicher Klassen um mit Objekten verschiedentlich arbeiten zu können, haben wir hier in Swift tatsächlich nicht mehr, Ist eine Variable vom Typ String als Variable deklariert, dann darf ich mit ihr auch arbeiten und den Wert ändern, ist sie mit let erzeugt, dann handelt es sich um eine Konstante, und wir haben eben das imutable Pendant, und dürfen nicht mehr die Werte ändern. So einfach ist das, let und var sind also die zwei Möglichkeiten, in Swift mit Variablen-Namen zu arbeiten, die einen Datentyp und einen Wert haben, wie gesagt, let macht daraus eine Konstante. Apple sagt übrigens, wo immer möglich, liebe Swift-Entwickler, achtet darauf, und macht auch Konstanten zu Konstanten, und man ist dann selber überrascht als Entwickler, dass man sagt: "Ich mache am besten nur Variablen". Und man stellt dann selber fest: "Oh, nein, ich habe doch den Bedarf, hin und wieder Sachen als konstant zu machen", irgendwelche Offset's oder Preisaufschläge, Mehrwertsteuerberechnungen, was weiß denn ich, und Apple sagt, Konstanten mit let, häufig angewendet, würden dazu führen, dass der Compiler besser optimierten Code erzeugen kann. Nun, dann wollen wir es eben Apple glauben, und man selber arbeitet mal an sich, an dem eigenen Programmierstil, wenn also sich etwas über die Zeit nicht ändern muss in einer Funktion, dann sollte man dieses auch tatsächlich als Konstante deklarieren.

Swift 2 lernen

Erkunden Sie die wichtigsten Sprachmerkmale von Swift und ihre modernen Eigenschaften wie Generics, Extensions, Tupels und Optionals.

4 Std. 2 min (30 Videos)
Derzeit sind keine Feedbacks vorhanden...

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!