「遅い」とは、リモートサーバがタイムアウトするのを待つコールバックの種類(vimeoフィードを呼び出し、解析してシーンにuiviewsを表示する)iOS9 // NSURLSession dataTaskWithURL非常に「遅い」
ほとんどどのように動作するのですか?私は、私の見解は、すぐに応答が以下のコード持っ
を返されるとコールバック内から移入されたいのですが(rubymotionを、あなたのアイデアを得る可能性があります):
session = NSURLSession.sharedSession
url = NSURL.URLWithString(ALBUMS_URL)
downloadTask = session.dataTaskWithURL(url, completionHandler: lambda { |data, response, error|
# 'puts' prints the result in the console, you get it as soon as the response arrives
puts data
# testing with a simple view
v = UIView.alloc.initWithFrame(CGRectMake(0,0,@width/2,200))
v.backgroundColor = UIColor.blackColor
self.view.addSubview v # ==> takes forever to effectively appear on the scene
})
私が設定してしまいました他の次
NSURLSession.sessionWithConfiguration(
NSURLSessionConfiguration.defaultSessionConfiguration,
delegate:nil,
delegateQueue: NSOperationQueue.mainQueue
)
何かをメインスレッドでタスクのこの種を行うために使用すべきですか?ビューを更新して強制的に更新する方法はありますか?この1
だこと:あなたは()(申し訳ありませんが、私はRubyMotionに慣れていないので、私はObjective-Cでこれを書いている)このように、UIを更新ブロックを作るために呼び出す簡単なdispatch_asyncを行うことができますあなたの質問に答えるのに十分な情報がありません。 – trojanfoe
@trojanfoeもっと正確にする方法を教えてください。基本的に、それをメインスレッドに入れずに、更新するには30秒かかります – Ben
@trojanfoeが編集しました – Ben