【发布时间】:2018-06-29 05:25:59
【问题描述】:
我有一个从 alamofire 请求返回 JSON 结果的函数。最初的想法是从 JSON 结果中检索一个值并将它们存储在数组中,但每次我尝试返回 JSON 结果或填充的 int 数组时,我都会在函数末尾得到一个空结果。请求是:
func getSeats()-> JSON{
var json : JSON = JSON()
Alamofire.request(url , method: .get)
.responseJSON{
response in
switch response.result {
case .success:
json = JSON(response.result.value!)
case .failure:
KRProgressHUD.showError(withMessage: "Could not retrieve reserved seats")
}
}
return json
}
最初,查看 AlamoFire 文档,我尝试使用从 json 结果返回数组的选项,所以我修改了我的代码,如下所示:
func getSeats()-> [Int]{
var json : JSON = JSON()
Alamofire.request(url , method: .get)
.responseJSON{
response in
switch response.result {
case .success:
json = JSON(response.result.value!)
case .failure:
KRProgressHUD.showError(withMessage: "Could not retrieve reserved seats")
}
}
return json.arrayValue.map { $0["seat_no"].intValue }
}
但这也返回了一个空数组,这就是我必须更改函数的原因。我收到的JSON格式如下:
[
{
"id": 1,
"bus_id": 11,
"seat_no": 6,
"arrived_at": "2018-01-16 20:58:57"
},
{
"id": 2,
"bus_id": 11,
"seat_no": 27,
"arrived_at": "2018-01-16 21:40:29"
}
]
我对 Swift 很陌生,这需要我永远理解和解决。
【问题讨论】:
标签: ios arrays alamofire swift4