Apple Watch Glance - 使用NSURL加载数据

时间:2015-12-17 22:20:37

标签: swift watchkit nsurl watch-os-2 apple-watch-glances

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

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。我记得曾经在某处看过你不应该一目了然地加载数据,如果是这种情况,我应该在每次出现问题时如何加载数据?

我的问题是:

如何在苹果手表中一览无余地通过HTTP加载数据?如果无法一目了然地加载HTTP数据,我该怎么办呢?

1 个答案:

答案 0 :(得分:2)

NSURLConnection应该有效,但由于不推荐使用,我建议改为使用NSURLSession

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

调用它的好地方是你的浏览界面控制器的awakeWithContext方法。我已经做到了,它一目了然。