Alle sinnvollen Programme müssen Daten speichern können. In Swift gibt es hierfür zwei Arten von Speicherplätzen: Variablen und Konstanten.
Eine Variable ist ein Speicherplatz dessen Wert jederzeit geändert werden kann, wohingegen der Wert einer Konstanten einmal festgelegt wird und danach nicht mehr verändert werden kann. Einfach, oder?
Die Unterscheidung zwischen diesen beiden Optionen kann jedoch auch nutzlos erscheinen. Man könnte anstelle von einer Konstanten ja auch eine Variable benutzen und sie einfach niemals ändern. Wozu brauchen wir Konstanten dann überhaupt? Nun, es stellt sich raus, dass die meisten Programmierer - Überraschung! - nicht perfekt sind und wir alle Fehler machen.
Einer der Vorteile zwischen Konstanten und Variablen zu unterscheiden ist, dass Xcode uns auf Fehler hinweist. Wenn wir beispielsweise sagen "dieses Datum ist konstant, denn ich weiß, dass es sich niemals ändert" und ich es 10 Zeilen später versuche zu ändern, wird Xcode einen Fehler anzeigen und die App nicht kompilieren.
Konstanten sind zudem wichtig, da sie Xcode zusätzliche Informationen über die App preisgeben. Wenn klar ist, dass sich ein Wert niemals ändern wird, dann kann Xcode Optimierungen durchführen die dazu führen, dass die Ausführung des Programms beschleunigt wird.
Erstelle eine Variable mit dem var
Schlüsselwort:
var name = "Tim McGraw"
Lass uns diese Zeile zu einem Playground hinzufügen, so dass wir direkt Feedback bekommen. Lösche alles außer der Zeile import UIKit
(wichtig, da diese Zeile das wichtigste iOS Framework von Apple importiert und wir das später brauchen werden) und füge deine Variable hinzu. Dies sollte so aussehen:
Da dies eine Variable ist, kannst du sie jederzeit ändern. Allerdings brauchst du hierfür nicht jedes Mal das var
Schlüsselwort. Es wird nur benötigt, wenn du neue Variablen deklarierst. Versuche folgendes:
var name = "Tim McGraw"
name = "Romeo"
Die erste Zeile erstellt die Variable name
und gibt ihr einen initialen Wert. Die zweite Zeile verändert diesen Wert zu "Romeo". Wie du siehst werden beide Werte im Ergebnisbereich von Xcode angezeigt.
Was, wenn wir statt einer Variablen eine Konstante erstellt hätten? Konstanten verwenden das let
Schlüsselwort anstelle von var
, so dass du die erste Zeile deines Codes einfach von var name
zu let name
verändern kannst:
import UIKit
let name = "Tim McGraw"
name = "Romeo"
Aber jetzt haben wir ein Problem: Xcode zeigt nun ein rotes Fehlersymbol neben der dritten Zeile und hat name
rot unterstrichen. Wenn du auf das Fehlersymbol klickst wird Xcode dir erklären was das Problem ist: "Cannot assign to 'let' value 'name'", was soviel bedeutet wie: "Du versuchst eine Konstante zu verändern und das ist nicht erlaubt".
Konstanten sind also ein Versprechen an Swift und dich selber, dass der Wert sich nicht ändert. Wenn du es trotzdem versuchst wird Xcode sich weigern deine App laufen zu lassen. Swift Entwickler versuchen Konstanten möglichst überall zu verwenden wo es möglich ist, da es den Code einfacher verständlich macht. In den neuesten Versionen von Swift wird dich Xcode sogar darauf aufmerksam machen wenn du eine Variable erstellst, aber den Wert anschließend niemals änderst.
Wichtiger Hinweis: Die Namen von Variablen und Konstanten müssen eindeutig sein in deinem Code. Wenn du den gleichen Namen mehrfach verwendest, wirst du ebenfalls eine Fehlermeldung erhalten. So wie hier z.B.:
var name = "Tim McGraw" var name = "Romeo"
Wenn ein Playground Fehler in deinem Code findet, wird es sie mit einem roten Kasten markieren oder ihn einfach nicht ausführen. In letzterem Fall wird der Ergebnisbereich von Xcode grau angezeigt anstelle von schwarz.
SPONSORED Take the pain out of configuring and testing your paywalls. RevenueCat's Paywalls allow you to remotely configure and A/B test your entire paywall UI without any code changes or app updates.
Sponsor Hacking with Swift and reach the world's largest Swift community!
Link copied to your pasteboard.