簡體   English   中英

無法將返回值與字符串進行比較

[英]Failing in comparing returned value with string

我正在嘗試從php返回值(字符串)到IOS應用程序:

echo "1";

這是快速的代碼:

let returnedData = NSString(data: unwrappedData, encoding: String.Encoding.utf8.rawValue) as! String
print(returnedData)
if returnedData == "1" {
     ... something
}

打印功能顯示正確的值(即1)。 但是檢查失敗。

字符串(...)給我可選(“ 1 \\ n \\ n”)

這表明輸出后跟兩個換行符,如本例所示:

let data = Data(bytes: [0x31, 0x0a, 0x0a])
if let string = String(data: data, encoding: .utf8) {
    print(string) // 1
    print(string.debugDescription) // "1\n\n"
    print(string == "1") // false
}

debugDescription是檢測“不可見”字符串字符的非常有用的方法。

解決方案是(比較swift在String上是否有trim方法? ):

let trimmed = string.trimmingCharacters(in: .whitespacesAndNewlines)
print(trimmed == "1") // true

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM