需要有关NSURLConection的帮助

时间:2012-11-19 06:40:12

标签: ios nsurlconnection

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

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

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

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

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

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

1 个答案:

答案 0 :(得分:1)

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

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