私はそうのように私のアプリでNSURLSession
を使用しています:スウィフトNSURLSession本当に本当に遅い
func wsQAshowTag(tag: Int, completion: ([AnyObject]! -> Void)) {
let requestString = NSString(format: “URL”, tag) as String
let url: NSURL! = NSURL(string: requestString)
let task = NSURLSession.sharedSession().dataTaskWithURL(url, completionHandler: {
data, response, error in
do {
let result = try NSJSONSerialization.JSONObjectWithData(data!, options: NSJSONReadingOptions.AllowFragments) as! [AnyObject]
completion(result)
}
catch {
completion(nil)
}
})
task.resume()
}
予想通り、この作品、私はそれが非常に速い見つけNSURLConnection
を使用していたとき、しかし私は、それは非常に非常に遅い探しています(これは同じURLを使用しています)NSURLConnection
が非常に高速の場合、NSURLSession
は非常に遅いですか? NSURLSession
をスピードアップするためにそこにいるのですか?ここで
は、私はそれを呼び出しています方法です:
self.wsQAshowTag(Int(barcode)!, completion: { wsQAshowTagArray in
//Code Here
})
これは非同期方式であることをご存知ですか?バックグラウンドスレッドで実行しますか? –
あなたは 'POST'メソッドまたは' GET'メソッドのために使用していますか? –
「NSURLSessionはどのように非常に遅いのですか?」そうではありません。ネットワーク要求はネットワーク要求であり、速度は使用する方法とは無関係です。しかし、バックグラウンドで実行される非同期メソッドなので、完成したスレッドをメインスレッドに戻す必要がありますか? – Moritz