[英]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.