0

在我的单一视图中,我有图像和音频文件的上传和下载选项,我成功实现了下载代码,进度条指示下载进度。

我在显示上传进度时遇到问题,目前我正在使用[NSURLConnection sendAsynchronousRequest:但我也想显示上传进度,此方法没有关于数据进度的回调块或委托函数。所以我尝试使用connection:didSendBodyData:totalBytesWritten:totalBytesExpectedToWrite:但是这个方法会如何触发呢?

为了下载,我这样做是为了触发 NSURLConnectionDataDelegate 方法并完成我的工作。

NSURLConnection *theConnection=[[NSURLConnection alloc] initWithRequest:theRequest delegate:self];

如果我[NSURLConnection connectionWithRequest:someReq delegate:self]用于上传,我将在一个文件中设置两次委托,第一次是在调用上传方法时,第二次是在调用下载方法时,这是正确的方法吗?

最后[NSURLConnection sendAsynchronousRequest:它有什么用,它没有关于数据进度的委托或回调,为什么要使用它?

4

1 回答 1

1

下载和上传可以是应用程序的两个不同时刻。self如果您创建两次负责启动 的对象,则设置两次作为委托确实有意义NSURLConnection,否则没有意义。

完整的方法签名是sendAsynchronousRequest:queue:completionHandler:一个巨大的不同。在这种情况下,您不需要设置委托,因为响应来自处理程序 ( NSData*)。

于 2012-11-19T07:38:16.510 回答