String-Formatierung in Swift: Wie man einen String mit Wertersetzung erstellt (Analogon zu String(format:))
Hallo zusammen! Ich habe gerade angefangen, Swift zu lernen, und schreibe meine erste App für iOS 8. Ich bin auf ein Problem mit der String-Formatierung gestoßen.
Ich muss Benutzerinformationen auf dem Bildschirm anzeigen: Name, Alter und Kontostand. Zum Beispiel: «Benutzer: Ivan, Alter: 25 Jahre, Kontostand: 1234.56 Rubel». Früher habe ich in Objective-C `[NSString stringWithFormat:@"...", ...]` verwendet, aber in Swift funktioniert das anscheinend anders.
Ich habe mehrere Varianten ausprobiert, aber keine liefert das gewünschte Ergebnis:
1. Einfache Interpolation: `"Benutzer: \(name), Alter: \(age) Jahre, Kontostand: \(balance) Rubel"` – hier kann ich das Zahlenformat nicht kontrollieren (z.B. nur zwei Nachkommastellen für den Kontostand anzeigen).
2. Ich habe `String(format:)` so verwendet:
```swift
let name = "Ivan"
let age = 25
let balance = 1234.5678
let formattedString = String(format: "Benutzer: %@, Alter: %d Jahre, Kontostand: %.2f Rubel", name, age, balance)
```
Aber Xcode gibt einen Fehler aus: `'String' is not convertible to 'NSString'`