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
方法。我已经搞定了,一看就很好
我正在创建 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
方法。我已经搞定了,一看就很好