2016-04-01 9 views
-1

ich eine URL-Variable wie dieseeine optionale und einen String verketten

var url:String! 
url = 'hello' 

erklärt haben, dann habe ich die Basis-URL wie folgt erklärt:

var baseUrl:String 
baseUrl = http://google.com/ 

Der Versuch, die zwei Werte zusammen wie

verketten
if let tmpurl = url { 
    println(baseUrl + tmpurl); 
} 

druckt

http://google.com/Optional('hello') 

Warum gibt es den optionalen Teil in der Ausgabe? Ich dachte, der let Teil würde die optionale

+2

die Fehler in Ihrer Frage (falsche Zitate/ohne Anführungszeichen) führen mich zu glauben, dass dies nicht Ihr genauer Code ist. Wenn du deinen Code in einen Spielplatz eingibst (während du die Anführungszeichen korrigierst), erhältst du "http: // google.com/hallo" für mich. – Paulw11

+0

Du musst sowieso nicht "url" auspacken, da es optional ist – Paulw11

Antwort

0

auspacken Die allererste Sache ist, dass Sie eine ältere Version von Swift verwenden. Bitte aktualisiere auf 2.1. Zweitens ist dies, weil Sie die URL-Variable ausgepackt haben, aber es ist nicht erforderlich. So Ihren Code aktualisieren, wie:

Für schnelle 2,0

var url:String? 
url = 'hello' 

var baseUrl:String? 
baseUrl = http://google.com/ 

if let tmpurl = url { 
    print(baseUrl! + tmpurl); 
} 
Verwandte Themen