iOS8 上的 Instagram

Posted

技术标签:

【中文标题】iOS8 上的 Instagram【英文标题】:Instagram on iOS8 【发布时间】:2016-04-03 11:51:25 【问题描述】:

我想在 ios 应用上显示我的 Instagram。我在本教程中使用了用于 JSON 的 Alamofire 和 Swifty 库http://myxcode.net/2015/07/12/getting-data-from-instagram-account/

但是我在这一行中遇到了错误:

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

说“Void 需要 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 得到的 我收到错误“类型'响应'没有下标成员”

我该如何使用它?

【问题讨论】:

可以使用response.data获取服务器返回的原始数据。您可以使用JSON(data: data) 来获取 JSON 对象。或者您可以使用response.result.value。它已经是 [String: AnyObject] 类型的 JSON。 谢谢,成功了! 【参考方案1】:

如 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)
          

responseJSON 不能使用 4 个参数,因为它只有一个参数,正如您在示例中所写的那样

但您可以从这样的响应中获得 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)")
             
         

你可以从响应对象中获取一切

【讨论】:

以上是关于iOS8 上的 Instagram的主要内容,如果未能解决你的问题,请参考以下文章

iOS8 上的应用扩展限制

iOS8 上的 Instagram

iOS8+ UIScreen 上的 -nativeScale 和 -scale 有啥区别?

iOS8上的iPhone界面方向

iOS8上的tableview行高错误

IOS8上的HTML按钮元素单击失败