Возврат результата JSON запроса Alamofire с помощью функции Swift 4

user1514567 спросил: 26 декабря 2017 в 08:15 в: ios

У меня есть функция, которая возвращает результат JSON из запроса alamofire. Первоначально идея заключалась в том, чтобы извлечь одно из значений из результата 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, и это заставляет меня навсегда понять и работать из.

0 ответов