草庐IT

NSURLSessioNDataTask

全部标签

ios - 使用 AFNetworking 2.0 发布时出现错误(Cocoa 错误 3840)(字符 0 周围的值无效)

我正在使用AFNetworking2.0进行API调用。我正在尝试使用以下方法将数据发布到网络服务:-(NSURLSessionDataTask*)POST:(NSString*)URLStringparameters:(NSDictionary*)parameterssuccess:(void(^)(NSURLSessionDataTask*task,idresponseObject))successfailure:(void(^)(NSURLSessionDataTask*task,NSError*error))failure后字典:{uid="B6ACB3EF-3E95-4313

ios - 非唯一的 NSURLSessionDataTask taskIdentifiers

我有一个iOS应用程序,它使用NSOperationQueue、NSOperations和AFNetworking2.1.0来触发对服务器的请求。-[NSOperationmain]方法看起来像这样:-(void)main{AFHTTPSessionManager*sessionManager=[AFHTTPSessionManagersharedSessionManager];[sessionManagerGET:@"url"parameters:nilsuccess:^(NSURLSessionDataTask*task,idresponseObject){NSLog(@"Succ

ios - 重新运行失败的 NSURLSessionTask

我想知道是否可以重新运行失败的NSURLSessionDataTask。这是我遇到此问题的背景。我有一个Web服务对象,它使用AFNetworking2.0来处理请求。在我的一种方法中,我得到了这个:[HTTPSessionManagerGET:pathparameters:paramssuccess:^(NSURLSessionDataTask*task,idresponseObject){}failure:^(NSURLSessionDataTask*task,NSError*error){//sometimeswefailhereduetoa401andhavetore-auth

ios - 如何从完成的 `NSURLSessionDataTask` 获取数据?

我知道我可以使用dataTaskWithURL:completionHandler:获取completionHandlerblock中的数据,但这会阻止触发委托(delegate)方法,我需要didReceiveData:触发的方法,因为这是我配置进度指示器的方式。我完全不知道如何在完成后获取下载的数据。完成block的委托(delegate)方法是什么?didCompleteWithError似乎没有返回任何NSData。我不必在didReceiveData中手动拼凑数据,对吗?当completionHandler将它交给你时,这看起来真的很蹩脚。如果不是因为我可以一次下载50多个东

ios - 递归/迭代 NSURLSessionDataTask 导致内存泄漏

我的代码中存在内存泄漏问题,我需要快速连续地获取许多URL,每个GET都受到前一个GET的结果的影响。目的是在响应中查找特定内容。我发现最简洁的实现方法是递归,因为我可以使用相同的方法来确定响应中是否存在所需的值。在功能上它工作得很好,但它会泄漏内存,如下所述。我还以迭代方式实现了相同的功能,这也会泄漏内存。在我看来,NSURLSessionAPI似乎是泄漏此内存的罪魁祸首,并且只有在非常快速连续地进行多次调用时才会发生这种情况。但是,如果有人能指出我犯的任何明显错误,我将不胜感激。2014年10月9日更新:已更新以添加递归计数器,表明即使代码未执行无限次,泄漏仍然会发生。还略微整理了

ios - 同步取数据 NSOperationQueue 或 NSURLSession

在我的应用中,当我们点击登录按钮时,我们必须进行3次服务器调用。1)willmakeaservercalltogetanOAuthtokenforusercredentials2)withthetokenfrom(1)wewillgetuserprivileges3)withthetokenfrom(1)andwiththevalidprivilegefrom(2)wewillgetthedatatobedisplayedonthepageafterlogininatableview.我对为此采取的方法感到困惑。使用operationqueue添加依赖项或使用NSURLSession任

swift - 为 backgroundSession.uploadTask 实现完成处理程序

我(几乎)成功地实现了URLSessionDelegate、URLSessionTaskDelegate和URLSessionDataDelegate,这样我就可以在后台上传我的对象了。但是我不确定如何实现完成处理程序,以便在服务器返回时删除我发送的对象statuscode=200我目前像这样启动uploadTaskletconfiguration=URLSessionConfiguration.background(withIdentifier:"com.example.myObject\(myObject.id)")letbackgroundSession=URLSession(c

ios - URLSession.shared.dataTask 接收数据的正确方式

美好的一天!在检查从dataTask接收到的(数据、响应、错误)并进行一些特殊的错误处理时,我有点困惑,试图找到正确的顺序。通常我们的URLSession看起来像这样:classHTTPRequest{staticfuncrequest(urlStr:String,parameters:[String:String],completion:@escaping(_data:Data?,_response:URLResponse?,_error:Error?)->()){varurl=OpenExchange.base_URL+urlStrurl+=getParameters(param:

swift - 从 dataTask completionHandler 抛出错误

我如何快速地在这样的完成处理程序中抛出错误:lettask=URLSession.shared.dataTask(with:requestasURLRequest,completionHandler:{(data,response,error)indo{//somethingcompletion(result)}catchletjsonError{throwCustomError.myerror//THISDOESN'TWORK}})task.resume()因为错误是Invalidconversionfromthrowingfunctionoftype'(_,_,_)throws->

ios - NSURLSessionTask。暂停不起作用

这是Apple文档中关于NSURLSessionTask类的suspend方法的内容Atask,whilesuspended,producesnonetworktrafficandisnotsubjecttotimeouts.好的。所以我正在运行以下简单代码:leturl=NSURL(string:"http://httpbin.org/delay/10")!leturlRequest=NSURLRequest(URL:url)self.task=NSURLSession.sharedSession().dataTaskWithURL(urlRequest.URL!,completio