在过去的三天里,我一直在试图取得一些进展,但无论我尝试什么,我似乎都无法围绕如何解决这个问题问题。这个答案是让我几乎所有的方式(但不完全):Capturing data from Alamofire为Alamofire创建回调函数,我可以用它来操纵JSON
我想要做的是获得一个应用程序的评论数。由于Alamofire异步执行网络调用,因此我试图创建一个回调,然后允许我实际使用它返回的JSON。在下面的代码中,我试图在我的Alamofire函数外部获得评论JSON,并将其分配给reviewJSON变量,以便我可以使用它。我究竟做错了什么?
import UIKit
import SwiftyJSON
import Alamofire
class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {
let appStoreReviewsURL: String = "https://itunes.apple.com/de/rss/customerreviews/id=529479190/json"
func getDataFromInterwebs(theURL: String, complete:(reviews: JSON) ->()) {
Alamofire.request(.GET, theURL).responseJSON { response in
guard response.result.error == nil else {
print("error calling GET ")
print(response.result.error!)
return
}
if let value = response.result.value {
let appReviewsFromAppStore = JSON(value)
complete(reviews: appReviewsFromAppStore)
}
else {
print("error parsing")
}
}
}
override func viewDidLoad() {
super.viewDidLoad()
var reviewJson = getDataFromInterwebs(appStoreReviewsURL){ completion in
return completion}
print(reviewJson)
}
你是不是解析'JSON'正确。粘贴你的JSON数据,以便我们可以更好地帮助你。 – Dershowitz123
嗨,Json显示在这里:https://itunes.apple.com/de/rss/customerreviews/id=529479190/json – Patrick