swift - if else 在 swift3 中不返回任何东西

标签 swift alamofire

我在 swift3 中有一个函数,它获取批准的变量并检查它是否为真。如果它是真的那么它会显示一个警报,但如果它不是真的,那么当它应该显示批准被拒绝的警报时什么也没有发生。当我尝试用简单的 print() 替换警报时,它甚至不会打印任何内容

可能是什么问题?

@IBAction func approveuser(_ sender: AnyObject) {
    theplace = place //Saving variable.


    DispatchQueue.main.async {

        if(self.place == ""){
            self.place = self.pickerData[0]
        }

        //BEGIN CHECK.
        Alamofire.request("https://example.com/api.php?appvar=\(appvar)&requested=\(self.place)").responseJSON{ (response) -> Void in

            if let JSON = response.result.value{
                let json = JSON as! NSDictionary
                Approved = json["Approved"] as! String
                let version = json["version"] as! String

                if(version != AppVersion){
                    self.showalert("Update Required", message: "A new version is available. Please update!", confirm: "Okay")
                    return
                }

                if(Approved == "true"){
                    theurl = json["URL"] as! String //Give the URL.
                    self.showalert("Approved!", message: "Approved", confirm: "Okay")
                }else{
                    self.showalert("Denied!", message: "Denied", confirm: "Okay")
                }
            }
        }
    }
}

最佳答案

在这一行之后

Approved = json["Approved"] as! String

打印已批准

print(Approved)

确保它打印 true 或 false 确保它不打印 optional(true) 或 optional(false)

升级到 Swift 3 后的 json 响应返回许多可选值,即使从 Swift 2 升级后您没有更改代码中的任何内容

关于swift - if else 在 swift3 中不返回任何东西,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39582692/

相关文章:

json - "Expected to decode String but found a dictionary instead."

ios Instagram api POST 关系端点使用 Alamofire - 错误

ios - Alamofire 响应回调中的委托(delegate)为 nil

swift - Alamofire 无效的 URL

ios - Alamofire 忽略设置/处理数据的闭包

c - 架构 arm64 xcode 7.3 的 undefined symbol

swift - NSUserUnixTask 悄悄忽略脚本

ios - 当按钮按下主机应用程序时如何更改自定义键盘的背景颜色?

ios - SwiftUI Preview 不适用于 FetchRequest 和 Init

ios - 如何使用Alamofire发布SwiftyJSON?