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 がそのセルに追加されますが、すべてがprogress変数を介して参照されます。個々のプログレスビューが一意に識別される方法。3 つのファイルをダウンロードしようとすると、すべての進行状況ビューに独自の進行状況が示され、正常に動作します。

この概念をクリアしてください。

はい、ボンネットの下でデータが台無しになっています。音声ファイルと画像ファイルを一緒にダウンロードしようとしましたが、ファイルが破損してしまいました。

この問題を解決する方法の例を提供してください。

4

0 に答える 0