2016-04-03 2 views
0

Я хочу показать свою instagram в приложении iOS. Я использую Alamofire и Swifty библиотеки для JSON с этим руководством http://myxcode.net/2015/07/12/getting-data-from-instagram-account/Instagram on iOS8

Однако я получаю ошибку в этой строке:

Alamofire.request(.GET, url).responseJSON { (request, response, json, error) in 

говоря «Пустота ожидает 1 аргумент, но 4 были использованы в закрывающей тело».

Но если я использую

Alamofire.request(.GET, url) 
    .responseJSON { response in 
     print(response) 
    } 

Он печатает результат правильно.

Если я использую

Alamofire.request(.GET, url) 
     .responseJSON { response in 
      let data = response["data"].arrayValue as [JSON]? 

, что я получил от https://github.com/Alamofire/Alamofire я получаю ошибку «Тип„Ответ“не имеет членов подстрочный»

Как я могу использовать это?

+0

Вы можете использовать 'response.data' для получения необработанных данных, возвращаемых сервером. И вы можете использовать 'JSON (data: data)' для получения объекта JSON. Или вы можете использовать 'response.result.value'. Это будет '' [String: AnyObject] 'тип JSON уже. –

+0

Спасибо, это сработало! –

ответ

0

Как уже упоминалось на странице Almofire GitHub вы должны использовать следующее, если вы хотите, чтобы получить 4 параметры непосредственно

Alamofire.request(.GET, "https://httpbin.org/get", parameters: ["foo": "bar"]) 
     .response { request, response, data, error in 
      print(request) 
      print(response) 
      print(data) 
      print(error) 
      } 

Вы не можете использовать 4 параметра с responseJSON как он имеет только один параметр, как у вас есть написано в примере

но вы можете получить 4 значения от ответа, как этот

Alamofire.request(.GET, "https://httpbin.org/get", parameters: ["foo": "bar"]) 
     .responseJSON { response in 
      print(response.request) // original URL request 
      print(response.response) // URL response 
      print(response.data)  // server data 
      print(response.result) // result of response serialization 

      if let JSON = response.result.value { 
       print("JSON: \(JSON)") 
      } 
     } 

вы можете получить все, что от ответа объект

Смежные вопросы