将Alamofire响应与String进行比较

问题描述 投票:1回答:1

我试图将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变量中,但它也不允许我进行比较。我感谢任何帮助,感谢提前。

swift alamofire
1个回答
1
投票

如果响应有一个有效的data,你的代码似乎很好。但是在caseerror中,你将无法找到不需要的结果的原因。最好使用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)
        }
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.