TEAM LICENSES: Save money and learn new skills through a Hacking with Swift+ team license >>

Variablen und Konstanten

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:

Gib deinen Code auf der linken Seite von Xcode Playgrounds ein und nach ein paar Sekunden erscheint das Ergebnis auf der rechten Seite

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 nameund 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 letSchlü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".

Wenn du versuchst eine Konstante zu verändern wird Xcode sich weigern deine App zu erstellen

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.

Hacking with Swift is sponsored by String Catalog.

SPONSORED Get accurate app localizations in minutes using AI. Choose your languages & receive translations for 40+ markets!

Localize My App

Sponsor Hacking with Swift and reach the world's largest Swift community!

BUY OUR BOOKS
Buy Pro Swift Buy Pro SwiftUI Buy Swift Design Patterns Buy Testing Swift Buy Hacking with iOS Buy Swift Coding Challenges Buy Swift on Sundays Volume One Buy Server-Side Swift Buy Advanced iOS Volume One Buy Advanced iOS Volume Two Buy Advanced iOS Volume Three Buy Hacking with watchOS Buy Hacking with tvOS Buy Hacking with macOS Buy Dive Into SpriteKit Buy Swift in Sixty Seconds Buy Objective-C for Swift Developers Buy Beyond Code

Was this page useful? Let us know!

Average rating: 3.3/5

 
Unknown user

You are not logged in

Log in or create account
 

Link copied to your pasteboard.