网络呼叫后不能分配变量

时间:2017-01-10 15:36:53

标签: ios swift alamofire swifty-json

我的变量d正在返回nil

var d: Int!

Alamofire.request(mapsUrl).responseJSON(completionHandler: { (response) in
        let jsonObject = JSON(response.result.value)
        let value = jsonObject["rows"][0]["elements"][0]["distance"]["value"].int

        var converted = 0
        if value! <= 5000{
            converted = (value! / 1000) * 80
        }else{
            converted = (value! / 1000) * 65
        }
        if converted < 400{
            converted = 400
        }else if converted == 0{
            converted = 400
        }
        d = converted
    })
print(d)

d正在返回

1 个答案:

答案 0 :(得分:1)

由于您在完成块之外尝试1 x 10000000 = 1000000,因此该语句将在您的网络请求完成之前执行。尝试将其放入完成块:

print(d)
相关问题