Seit Beta 8.3, zillionen Warnungen "String-Interpolation erzeugt eine Debug-Beschreibung für einen optionalen Wert; wollten Sie dies explizit machen?" erschien in meinem Code.
Beispielsweise wurde die Warnung in der folgenden Situation angezeigt, in der Optionen zu Null führen können:
let msg = "*** Error \(options["taskDescription"]): cannot load \(sUrl) \(error)"
Wie zuvor entworfen, war es für mich (und den Compiler) in Ordnung, die Optionen als 'Null' zu interpolieren. Aber der Compiler hat seine Meinung geändert.
Der Compiler schlägt vor, einen String-Konstruktor mit folgender Beschreibung hinzuzufügen:
let msg = "*** Error \(String(describing: options["taskDescription"])): cannot load \(sUrl) \(error)"
Offensichtlich sind die Ergebnisse explizit, aber meiner Meinung nach auch sehr, sehr umständlich. Gibt es eine bessere Option? Muss ich all diese Warnungen korrigieren oder besser auf die nächste Beta warten?
Swift 3
brach meine eigene log
und ich machte einen Fehler, indem ich print
stattdessen einfach benutzte . Sollte immer einen eigenen Wrapper erstellen, sonst werden Sie von dieser Art von "neuer Funktion" begeistert sein.