1

目前我正在开发消息传递应用程序,它可以发送文本消息、图像和音频文件。

文件上传到 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 将被添加到该单元格,但所有文件都通过进度变量引用。如何唯一标识每个单独的进度视图。如果我尝试下载三个文件,所有进度视图都表明有自己的进度并且工作正常。

请清除这个概念。

是的,引擎盖下的数据搞砸了,我试图一起下载音频和图像文件,但最终得到了损坏的文件。

请提供如何解决此问题的示例。

4

0 回答 0