在我的单一视图中,我有图像和音频文件的上传和下载选项,我成功实现了下载代码,进度条指示下载进度。
我在显示上传进度时遇到问题,目前我正在使用[NSURLConnection sendAsynchronousRequest:
,但我还想显示上传进度,此方法没有关于数据进度的回调块或委托功能。所以我尝试使用connection:didSendBodyData:totalBytesWritten:totalBytesExpectedToWrite:
,但这个方法将如何触发?
下载我这样做是为了触发NSURLConnectionDataDelegate方法并完成我的工作。
NSURLConnection *theConnection=[[NSURLConnection alloc] initWithRequest:theRequest delegate:self];
如果我使用[NSURLConnection connectionWithRequest:someReq delegate:self]
进行上传,我将在一个文件中设置两次委托,第一次调用upload方法时,第二次调用下载方法时,这是正确的方法吗?
最后[NSURLConnection sendAsynchronousRequest:
如何有用,它没有关于数据进展的委托或回调,为什么要使用它?
答案 0 :(得分:1)
下载和上传可以是应用程序的两个不同时刻。如果你创建两个负责启动self
的对象,那么将NSURLConnection
两次设置为委托是有意义的,否则它没有意义。
完整的方法签名是sendAsynchronousRequest:queue:completionHandler:
,这会产生很大的不同。在这种情况下,您不需要设置委托,因为响应来自处理程序(NSData
*)。