循环中的异步调用无法正常工作

时间:2015-08-31 12:26:01

标签: swift http asynchronous alamofire

我正在使用Alamofire框架来处理HTTP请求。

我有一系列Feed,我需要循环遍历它们并为每个Feed发出GET请求。

    func getProfileImages(){


    var i = 0

    for feed in jsonFeeds {


        i++

        let author = feed.objectForKey("author") as! String


        Alamofire.request(.GET, Constants.Path.rootUrl + "/api/users/" + author +  "/image", headers: headers)
            .response { request, response, JSON, error in

                println("Profile Image request response:\(response)")
                println("Profile Image error:\(error)")


                if let dict: NSDictionary = NSJSONSerialization.JSONObjectWithData(JSON!, options:NSJSONReadingOptions.MutableContainers, error:nil) as? NSDictionary {

                    self.imageUrls[i-1] = dict["url"] as? String
                    println(self.imageUrls)

                    if i == self.jsonFeeds.count {

                        println("count:\(self.jsonFeeds.count) , \(i)")

                        self.getCollabProfileImages()


                    }

                }
        }

    }
}

然而,看起来它只是在做最后一个请求,或类似的东西。 事实上,println(“count:(self.jsonFeeds.count),(i)”)总是打印(计数:6,6)。

这里有什么问题?

0 个答案:

没有答案