【问题标题】:Return data from Rest API call from Swift NSURLsession从 Swift NSURLsession 的 Rest API 调用返回数据
【发布时间】:2016-06-13 09:04:09
【问题描述】:

如何获取从 REST API 调用返回到 Raspberry Pi 传感器的数据?

我一直在使用邮递员来操作 GET 和 POST 调用,因此我可以看到它有效并查看响应。 xcode控制台返回的信息如下:

可选( { URL: >http://192.168.1.83:8000/GPIO/10/value } { 状态码: 200, headers { “缓存控制”=“无缓存”; “内容长度”= 1; “内容类型”=“文本/纯文本”; 日期 =“格林威治标准时间 2016 年 2 月 29 日星期一 23:40:32”; 服务器 = "WebIOPi/0.7.1/Python3.4"; } })

我使用的代码是从邮递员生成的,如下:

import Foundation

let headers = [
  "authorization": "Basic ***SNIP***",
  "cache-control": "no-cache",
  "postman-token": "e-4d2-2------d---9d---c0bc72a44f7e"
]

var request = NSMutableURLRequest(URL: NSURL(string:         "http://192.168.1.83:8000/GPIO/10/value")!,
                                    cachePolicy:     .UseProtocolCachePolicy,
                                timeoutInterval: 10.0)
request.HTTPMethod = "GET"
request.allHTTPHeaderFields = headers

let session = NSURLSession.sharedSession()
let dataTask = session.dataTaskWithRequest(request, completionHandler:    { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? NSHTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

我想要调用 GPIO 引脚 10 所返回的值,该值将是 0 或 1。如果我尝试从完成处理程序响应中获取该值,它会返回 Nil,以及几乎其他任何我试着让它崩溃。

【问题讨论】:

    标签: swift raspberry-pi nsurlsession webiopi


    【解决方案1】:

    好的,想通了!我需要使用....

    dispatch_async(dispatch_get_main_queue(),
                    {
    }
    

    我不确定这是否是标准做法,但我可以得到我需要的东西(yipee),所以现在我可以发送一些 kharma 来改变!!!随时发表评论或称我为 putz,但如果有人想给出正确的技术解释会更好,这样我就可以更好地理解它以及其他可能从中受益的人

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-09-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-26
      • 1970-01-01
      相关资源
      最近更新 更多