Apple Watch Glance——使用 NSURL 加载数据

Apple Watch Glance – Load Data with NSURL

我正在创建 glance,需要从 API 加载一些数据。我写了下面的代码,但是它不允许我在 glance 控制器中异步或同步请求数据。

let url = NSURL(string: "http://api.icndb.com/jokes/random")
let request = NSURLRequest(URL: url!)
NSURLConnection.sendAsynchronousRequest(request, queue: NSOperationQueue.mainQueue()) {(response, data, error) in
    print(NSString(data: data!, encoding: NSUTF8StringEncoding)!)
}

错误发生在 NSURLConnection.sendAsynchronousRequest 并显示 sendAsynchronousRequest(_:queue:completionHandler:) is unavailable。我记得在某处看到过不应该一目了然地加载数据,如果是这样的话,我应该如何在每次一目了然时加载数据?

我的问题是:

如何在 apple watch glance 中通过 HTTP 加载数据?如果无法一眼加载 HTTP 数据,我该怎么办?

NSURLConnection 应该可以,但由于它已被弃用,我建议改用 NSURLSession

let task = NSURLSession.sharedSession().dataTaskWithRequest(request) { (data, response, error) -> Void in
    // handle the response
}
task.resume()

调用它的好地方是您的 glances 界面控制器的 awakeWithContext 方法。我已经搞定了,一看就很好