为啥我的 NSURLSession dataTask 多次调用服务器?

Posted

技术标签:

【中文标题】为啥我的 NSURLSession dataTask 多次调用服务器?【英文标题】:Why does my NSURLSession dataTask make multiple calls to the server?为什么我的 NSURLSession dataTask 多次调用服务器? 【发布时间】:2014-06-27 15:02:36 【问题描述】:

我有一个使用以下方法创建的 NSURLSession dataTask:

NSURLSessionConfiguration *defaultConfigObject = [NSURLSessionConfiguration defaultSessionConfiguration];
    NSURLSession *defaultSession = [NSURLSession sessionWithConfiguration: defaultConfigObject delegate:hvc delegateQueue:    [NSOperationQueue mainQueue]];
NSURLSessionDataTask * dataTask = [defaultSession dataTaskWithURL:url ];
    [dataTask setAccessibilityLabel:@"UserProfiling"];

    [dataTask resume];

这里,hvc 是另一个 ViewController,我在其中处理此服务器数据任务调用的委托。

我看到 dataTask 连续多次调用服务器。

有没有办法确保只拨打一个电话?

这已在下面解决并回答。

【问题讨论】:

您是否检查过日志,您上面发布的代码没有被多次调用? 此类服务器日志的日志在哪里? 我不是在询问服务器日志。只需在 [dataTask resume] 上方放置一个日志,看看您是否重复调用该方法。 【参考方案1】:

我在这里回答我自己的问题。

错误地,我在另一个被重复调用的方法中编写了上面的代码。不断更新用户位置的是 Corelocation 框架。

【讨论】:

以上是关于为啥我的 NSURLSession dataTask 多次调用服务器?的主要内容,如果未能解决你的问题,请参考以下文章

为啥 NSURLSession dataTaskWithURL 比 NSData dataWithContentsOfURL 慢得多?

为啥 NSURLSession uploadTaskWithRequest:fromData: 无法上传到 php 服务器?

SwiftyJSON 问题 Swift 2

为啥我的 NSURLSessionDownloadTask 下载不会到达我的客户端?

NSURLSession 委托跨类拆分 - NSURLSession、NSURLUploadTask、NSURLDownloadTask

NSURLSession - 请求超时