2017-10-15 3 views
-4

Warum funktioniert das nicht? Ich versuche, zwei String mit == vergleichen zu können, in der Regel funktioniert es, aber wenn es so tut, ist es nichtSwift: Stringvergleich mit ==

if let data = response.data, let utf8Text = String(data: data, encoding: .utf8) { 
    print("Data: \(utf8Text)") 

    if utf8Text == "success" { 
     //it wont get in this block even if the utf8Text is success 
    } 
} 

arbeiten, warum dies nicht funktioniert und wie werden wir es anzupassen?

+0

was ist die genaue Ausgabe von ** utf8Text **? – Siyavash

+3

Es funktioniert nicht, weil 'utf8Text! =" Erfolg "'. Überprüfen Sie die Zeichenfolge auf führende oder nachfolgende Leerzeichen oder Zeilenumbruchzeichen. Ist 'utf8Text.count' == 7? Bitte fügen Sie die Ausgabe von 'print (response.data als NSData)' – vadian

+0

Daten: Erfolg das ist die Ausgabe für den Druck – Sam

Antwort

0

Bitte versuchen Sie den Code unten

String(utf8Text).trimmingCharacters(in: .whitespacesAndNewlines) == "success" 
+0

Vielen Dank, es hat funktioniert :) – Sam

+0

'utf8Text' ist bereits ein String – Alexander