如何将数据传递给类中的Doubles数组

时间:2018-10-24 10:20:56

标签: ios swift4

这是代码。在其他情况下,我使用它也很好,但是在使用数组的情况下,我一直没有得到结果。数据解析得很好,我可以从关闭处将其打印到控制台中。但是,当我尝试将其传递到View Controller中时,它并没有到达那里。

class AllPointRU {

//    var allPointsDict: [String:AnyObject] = [:]
    var _lngs: [Double]!
    var _lats: [Double]!

    var lngs: [Double] {
        if _lngs == nil {
            _lngs = [1.1]
        }
        return _lngs
    }

    var lats: [Double] {
        if _lats == nil {
            _lats = [1.1]
        }
        return _lats
    }
func downloadAllPointsRU(completed: DownloadComplete) {

    Alamofire.request(CURRENT_POINTS_RU).responseJSON { response in

        if response.data != nil {
            let allPointsRU = response.result.value!
            if let allLat = allPointsRU as? [[String : AnyObject]] {
                let latitudes = allLat.map({ $0["lat"] as! Double})
                self._lats = latitudes

            }
            if let allLng = allPointsRU as? [[String : AnyObject]] {
                let longitudes = allLng.map({ $0["lng"] as! Double})
                self._lngs = longitudes


            }
        }
    }
    completed()
}

}

1 个答案:

答案 0 :(得分:0)

由于它具有异步api调用,因此您要么需要等待将要传递到另一个视图控制器的响应,要么可以关闭用户以捕获该值,然后将这些值传递给另一个视图控制器。

  

在获得api响应之前,您可能正在将值传递给另一个视图控制器,这可能是获得nil的原因。