【发布时间】:2017-05-25 05:56:17
【问题描述】:
我正在为与锻炼相关的肌肉进行 API 调用,调用如下所示:
func loadPrimaryMuscleGroups(primaryMuscleIDs: [Int]) {
print(primaryMuscleIDs)
let url = "https://wger.de/api/v2/muscle"
Alamofire.request(url).responseJSON { response in
let jsonData = JSON(response.result.value!)
if let resData = jsonData["results"].arrayObject {
let resData1 = resData as! [[String:AnyObject]]
if resData1.count == 0 {
print("no primary muscle groups")
self.musclesLabel.isHidden = true
} else {
print("primary muscles used for this exercise are")
print(resData)
self.getMuscleData(muscleUrl: resData1[0]["name"] as! String)
}
}
}
}
这会返回给我所有可用肌肉的完整列表,我需要它来返回锻炼所需的肌肉。这在练习中显示为一组肌肉 ID,我通过下面的 viewDidLoad 输入
self.loadPrimaryMuscleGroups(primaryMuscleIDs: (exercise?.muscles)!)
所以我将锻炼肌肉阵列作为 [Int] 输入到 func 中,但此时我不知道如何过滤请求,以便生成的肌肉数据只是锻炼所需的数据。
我在想这就像在 jsonData 响应中使用 primaryMuscleIDs 过滤肌肉的 id 属性,但我不知道该怎么做?
感谢您在这里的任何澄清,希望我已经解释得足够清楚了
【问题讨论】:
-
您是否已经实现了具有
arrayObject属性的JSON()对象? -
我相信它来自 swiftyJSON
标签: ios json swift api alamofire