swift : Verwendung von %s-String(format: ...)

Möchte ich formatieren einer Zeichenfolge mit einer anderen Zeichenfolge wie diese:

var str = "Hello, playground"
print (String(format: "greetings %s", str))

Diese führt zu diesem schönen Ergebnis:

Grüße 哰૧

Habe ich versucht mit %@ und es funktioniert, aber, wie ich bin immer in der format-string aus
eine andere Programmiersprache, ich würde gerne, wenn möglich, verwenden Sie den %s tag.
Gibt es einen Weg ?

  • Die "%s" formatbezeichners gibt an, eine C-string — eine null-terminierte Folge von bytes. Es wird auch nicht richtig behandeln, die nicht-ASCII/UTF-8-Codierungen. Können Sie nicht nach "%s" im format-string bekommen Sie und ersetzen Sie es mit "%@"?
  • %s erwartet einen C-string, nicht einen Swift string.
  • Warum nicht einfach "greetings \(str)"?
  • Wenn Sie möchten, CString: stackoverflow.com/questions/24103590/... (es ist ein Swift 3 Antworten)
  • Ich möchte vermeiden, das format der Konstruktor in String, so viel wie möglich. Die %s escape ist nicht gemacht für Objective-C noch Swift-strings, es ist für C-Saite nur. Vermeiden Sie die %s in der lokalisierten text um jeden Preis zu...
  • Interessant, dass die Macher von Swift entschied %s sollte NICHT mit String. Nicht sicher, was für einen Vorteil bietet? Und könnte es nicht sein, irgendwie überlastet?

InformationsquelleAutor Julien | 2017-07-12
Schreibe einen Kommentar