目前我正在开发消息传递应用程序,它可以发送文本消息、图像和音频文件。
文件上传到 http 服务器,用于下载和上传,我使用的是 NSURLConnection。
当用户点击下载按钮时,我提取表格视图的单元格并将进度视图添加为这样的子视图
在头文件中
@property (strong, nonatomic) UIProgressView *progress;
在类文件中我的下载方法
progress = [[UIProgressView alloc]initWithProgressViewStyle:UIProgressViewStyleBar];
progress.trackTintColor = [UIColor grayColor];
progress.frame = CGRectMake(10, 50, 160, 30);
progress.progress = 0.0;
[cell addSubview:progress];
当接收到数据时,这个 NSURLConenction 委托方法被调用
-(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
{
if(imgUpload)
{
NSLog(@"UPLOAD");
}
else
{
[self.resourceData appendData:data];
NSNumber *resourceLength = [NSNumber numberWithUnsignedInteger:[self.resourceData length]];
[self.progress setProgress:[resourceLength floatValue] / [self.filesize floatValue] animated:YES];
}
}
如果有多个文件,并且每次用户点击下载按钮时,整个代码都将执行,progressview 将被添加到该单元格,但所有文件都通过进度变量引用。如何唯一标识每个单独的进度视图。如果我尝试下载三个文件,所有进度视图都表明有自己的进度并且工作正常。
请清除这个概念。
是的,引擎盖下的数据搞砸了,我试图一起下载音频和图像文件,但最终得到了损坏的文件。
请提供如何解决此问题的示例。