0

グランスを作成していて、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 グランスで HTTP 経由でデータをロードするにはどうすればよいですか? また、HTTP データを一目でロードできない場合、他にどのようにすればよいでしょうか?

4

1 に答える 1

2

NSURLConnection動作するはずですが、非推奨であるため、NSURLSession代わりに使用することをお勧めします。

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

これを呼び出すのに適した場所はawakeWithContext、glance インターフェイス コントローラーのメソッドです。私はそれを実行しましたが、一目で問題なく動作します。

于 2015-12-17T23:04:25.227 に答える