2017-01-29 4 views
0

Ich habe ein Problem mit dem Hinzufügen meiner Variablen zu URL. In Code Ich habe dies:Wie man eine Variable zur URL hinzufügt. iOS

self.imgURL = "https://openweathermap.org/img/w/\(self.dodatek).png" 

und das funktioniert nicht. Im Debugger zeigt es mir diese:

url String "https://openweathermap.org/img/w/Optional(\50n\).png" 

aber es sollte so aussehen:

https://openweathermap.org/img/w/50n.png 

Wenn ich meinen Code dies ändern:

self.imgURL = "https://openweathermap.org/img/w/50n.png" 

es funktioniert, und zeigt mir, Wetter Symbol, aber ich möchte dort meine Variable, die Icon-Namen von Json nimmt.

Antwort

3

Es ist wie self.dodatek aussieht, ist ein Opional. Sie müssen es auspacken. Ich schlage vor, entweder if let optionale Bindung oder eine Guard-Anweisung zu verwenden:

if let filename = self.dodatek { 
    self.imgURL = "https://openweathermap.org/img/w/\(filename).png" 
} 
else { 
    print("Error. filename in self.dodatek is nil!") 
    return 
} 
-3

Es scheint, als wäre Ihr self.dodatek ein optionaler Wert. Sie müssen es auszupacken von self.dodatek! schreiben, so die Zeichenfolge wäre:

self.imgURL = "https://openweathermap.org/img/w/\(self.dodatek!).png" 
+2

Blind Kraft-Unwrapping ist eine sehr schlechte Idee. Dies ist ein sehr schlechter Rat, vor allem für einen Anfänger. –

Verwandte Themen