Ein komplizierter Name für etwas eigenlich sehr einfaches: Die Kombination mehrerer Variablen und Konstanten zu einem String.
Lösche deinen ganzen Code aus deinem Playground und behalte nur diese Zeile:
var name = "Tim McGraw"
Angenommen wir wollen eine Nachricht ausgeben die den Namen des Users enthält, dann macht String Interpolation dies einfach: Schreibe einen Backslash \
gefolgt von der Variable in runden Klammern. Dein Code sieht dann folgendermaßen aus:
var name = "Tim McGraw"
"Your name is \(name)"
Der Ergebnisbereich von Xcode sollte nun "Your name is Tim McGraw" als einen String anzeigen, denn durch die String Interpolation haben wir die beiden kombiniert.
Wir hätten auch den +
Operator nutzen können:
var name = "Tim McGraw"
"Your name is " + name
…dies ist allerdings nicht so effizient, vor allem wenn wir mehrere Variablen kombinieren müssen. Die String Interpolation in Swift ist außerdem intelligent genug um auch mit verschiedenen Datentypen umzugehen. Beispiel:
var name = "Tim McGraw"
var age = 25
var latitude = 36.166667
"Your name is \(name), your age is \(age), and your latitude is \(latitude)"
Mit +
wäre dies schwieriger gewesen, weil Swift es nicht erlaubt Integer und Doubles zu einem String hinzuzufügen. Es kann sein, dass das Ergebnis des Codes nun nicht mehr in den Ergebnisbereich von Xcode passt. Du kannst entweder das Fenster vergrößern oder alternativ den +-Button verwenden der erscheint wenn du mit dem Mauszeiger über das Ergebnis fährst.
Eines der mächtigsten Features von String Interpolation ist die Tatsache, dass zwischen \(
und )
auch komplette Swift Ausdrücke stehen können. Beispielsweise kannst du dort auch Formeln und Berechnungen hinzufügen:
var age = 25
"You are \(age) years old. In another \(age) years you will be \(age * 2)."
SPONSORED Take the pain out of configuring and testing your paywalls. RevenueCat's all new Paywall Editor allow you to remotely configure your paywall view without any code changes or app updates.
Sponsor Hacking with Swift and reach the world's largest Swift community!
Link copied to your pasteboard.