这里我通过使用这个从服务器得到 String (true或false)的响应我需要放置一个条件,如果jsonObj
为真,那么它需要执行一些事情如果不是它应该执行不同的事情,但是在放置条件之后它显示错误Binary operator cannot be applied to operands of type 'String' and 'Bool'
显示在此行if jsonObj == true{
任何人都可以帮助我如何设置条件来检查它是真还是假?
func customerItemsDeleteDownloadJsonWithURL(customerItemsAPI: String){
let url = URL(string: customerItemsAPI)
var request = URLRequest(url: url! as URL)
request.httpMethod = "DELETE"
request.addValue("application/json", forHTTPHeaderField: "Content-Type")
request.addValue("Bearer \(self.customerKeyToken!)", forHTTPHeaderField: "Authorization")
let task = URLSession.shared.dataTask(with: request) { (data, response, error) in
if error != nil { print(error!); return }
do {
if let jsonObj = String(data: data!, encoding: .utf8) {
print(jsonObj)
DispatchQueue.main.async {
if jsonObj == true{
}
else{
}
}
}
}
catch {
print(error)
}
}
task.resume()
}
答案 0 :(得分:1)
根据Data
输出,回复是简单String
而不是JSON
,Bool
或其他数字表示。
所以只需添加双引号。
if jsonObj == "true" { ...
附注:不需要将此比较分配给主线程。