我试图将Alamofire返回的答案与一系列值进行比较,但我不明白我应该如何将响应与String进行比较。这是我的代码
Alamofire.request(urlRegister, method: .post, parameters: parameters).responseString { response in
let myResponse: String = response.result.value!
if let data = response.data, let myResponse2 = String(data: data, encoding: .utf8) {
if myResponse2 == "Insert" {
print("Insert")
} else if myResponse2 == "exists" {
print("exists")
} else {
print("Conetion Error")
}
}
}
我也尝试将响应存储在String变量中,但它也不允许我进行比较。我感谢任何帮助,感谢提前。
如果响应有一个有效的data
,你的代码似乎很好。但是在case
的error
中,你将无法找到不需要的结果的原因。最好使用response
result
enum
来清楚地了解正在发生的事情,如下所示,
Alamofire.request(urlRegister, method: .post, parameters: parameters).responseString { response in
switch response.result {
case .success(let value):
print(value)
if value == "Insert" {
print("This is insert!")
} else if value == "exists" {
print("Value exists!")
} else {
print("Some unwanted value!")
}
case .failure(let error):
print(error)
}
}
}