2016-04-03 13 views
0

Ich möchte meine Instagram auf iOS App anzeigen. Ich verwende Alamofire und Swifty Bibliotheken für JSON mit diesem Tutorial http://myxcode.net/2015/07/12/getting-data-from-instagram-account/Instagram auf iOS8

aber ich bin immer Fehler in dieser Zeile:

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

sagen "Void erwartet 1 Argument aber 4 wurden in Verschlusskörper verwendet".

Aber wenn ich

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

verwenden Es druckt das richtig Ergebnis.

Wenn i

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

verwenden, die ich von https://github.com/Alamofire/Alamofire bekam ich Fehler "Typ 'Antwort' hat keine Index-Mitglieder"

Wie kann ich diese nutzen?

+0

Sie können 'response.data' verwenden, um die vom Server zurückgegebenen Rohdaten zu erhalten. Und Sie können 'JSON (Daten: Daten)' verwenden, um das JSON-Objekt abzurufen. Oder Sie können 'response.result.value' verwenden. Es wird bereits ein '[String: AnyObject]' Typ JSON sein. –

+0

Danke, es hat funktioniert! –

Antwort

0

Wie auf der Almofire GitHub Seite erwähnt haben Sie folgende verwenden, wenn Sie direkt 4 Parameter erhalten möchten

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

Sie nicht mehr als 4 Parameter mit dem responseJSON, da es nur einen Parameter hat verwenden können, wie Sie im Beispiel geschrieben

aber Sie 4 Wert aus der Antwort wie diese

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)") 
      } 
     } 

Sie können alles bekommen, was aus der Antwort zu bekommen Objekt