Ich habe eine Hilfsmethode, die URL aus einer Konfiguration erstellt. Die Config enthält die URLs mit Platzhaltern, die zur Laufzeit ersetzt werden müssen. Da das Zeichenfolgenformat für %s
nicht richtig funktioniert, dachte ich an eine verzögerte Interpolation, bei der ich die Zeichenfolge nur dann konstruieren sollte, wenn das Objekt verfügbar ist.Wie verzögert man die String-Interpolation in swift?
Zum Beispiel, wenn ich eine Zeichenfolge haben:
var str = http://localhost/entitylist/\(obj.key2)/entity/\(obj.key1)
Ich möchte so etwas wie method1(str, obj)
tun, die mir den interpolierten Wert geben sollte.
Kein Zweifel, ich es mit str.stringByReplacingOccurrencesOfString
erreichen kann, wollte ich noch wissen, ob es eine bessere Art und Weise ist, es zu tun
Die Frage ist unklar. Bitte geben Sie die tatsächliche Eingabe und die gewünschte Ausgabe an. – matt
'var str =" http: // localhost/entity-Liste /% s/entity /% s " var Ausgabe = String (Format: str, Argumente: [" foo "," bar "])' die Ausgabe ist " http: // localhost/entitylist // entity/" –
Für Swift-Strings verwenden Sie'% @ ': http://StackOverflow.com/questions/27171178/how-to-use-string-object-in-the-string- Format-Klassen-Methode. –