无法在swift 3中为服务器响应设置条件?

时间:2017-11-17 09:47:51

标签: ios swift

这里我通过使用这个从服务器得到 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()
}

1 个答案:

答案 0 :(得分:1)

根据Data输出,回复是简单String而不是JSONBool或其他数字表示。

所以只需添加双引号。

if jsonObj == "true" { ...

附注:不需要将此比较分配给主线程。