私はポストAPIを呼び出すためにNSURLSessionを使用していますが、wifiを回してWebサービスを起動し、再びwifiをオンにするとNSURLSessionは前に呼び出したWebサービスを呼び出しますこのプロセスを停止したい。私はいくつかの文書をNSURLSessionがあらゆるサービスコールのセクションを格納している状況で接続が中断したときに読み込み、接続が再び確立されたときに再びそのサービスにヒットします。だから今私は、私のデバイスに接続を再接続した後、そのサービスコールを停止するための任意のソリューションを取得していない。 いずれかが私を助けてください。前もって感謝します。NSURLSessionからタスクまたはセクションを停止する方法
以下は私が使用したコードです。
let token: NSString!
let urlPath: NSURL!
if provider .isEqualToString("No"){
urlPath = NSURL(string: kAPI_SERVERBASEURL + (url as String))
}
else{
urlPath = NSURL(string: kAPI_SERVERBASEURLSEARCHPROVIDER + (url as String))
}
var postJsonData = NSData()
var jsonString = NSString()
do {
postJsonData = try NSJSONSerialization.dataWithJSONObject(dictRequest, options:[])
jsonString = NSString(data: postJsonData, encoding: NSUTF8StringEncoding)!
NSLog("request - %@", jsonString);
// do other stuff on success
} catch {
print("JSON serialization failed: \(error)")
}
let request = NSMutableURLRequest(URL: urlPath);
request.cachePolicy = NSURLRequestCachePolicy.ReloadIgnoringLocalCacheData
request.HTTPShouldHandleCookies = false
request.timeoutInterval = 120 ;
request.HTTPMethod = "POST";
if NSUserDefaults.standardUserDefaults().valueForKey(kAccessToken) != nil{
token = NSUserDefaults.standardUserDefaults().valueForKey(kAccessToken) as! NSString
//token = "tk_1vNoEoZRxJwY"
request.setValue("\(token)", forHTTPHeaderField: "access_token")
}
request.addValue("application/json", forHTTPHeaderField: "Content-Type")
request.HTTPBody = postJsonData
let session = NSURLSession.sharedSession()
let task = session.dataTaskWithRequest(request) { (data:NSData?, response:NSURLResponse?, error:NSError?) -> Void in
`
http://stackoverflow.com/questions/23518690/how-to-find-and-のような両方の2と3のステップを組み合わせて呼び出す前に、要求を取り消したいとしますタスクをキャンセルするタスクをキャンセルする – Krumelur