1

NSUrlConnection を使用してダウンロード中にプログレスバーを使用しようとしています

何かが足りないが、何がわからない

私のコードを見てください

私の .hi で

NSMutableData *receivedData;

    NSNumber  *FileSize;

プログレスバーのパーセントを計算するために使用します

私の.mで

- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response  

{   
    [receivedData setLength:0];

    FileSize = [NSNumber numberWithLongLong:[response expectedContentLength]];
}

- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data

{

    [receivedData appendData:data];

    NSNumber *resourceLength = [NSNumber numberWithUnsignedInteger:[receivedData length]];
    NSLog(@"resourceData length: %d ", [resourceLength intValue]);


    NSNumber *progress = [NSNumber numberWithFloat:([resourceLength floatValue] / [FileSize floatValue])];
    updateProgressBar.progress = [progress floatValue];
}

FileSize float の行に達すると、クラッシュします

2010-10-05 22:32:19.924 Quran[2067:207] resourceData 長さ: 1090 プログラム受信信号: 「EXC_BAD_ACCESS」。

4

1 に答える 1

3

FileSize = [NSNumber numberWithLongLong:[response expectedContentLength]];どこかに保持する必要がある自動解放された NSNumber を提供していると思います。コードの別の場所でそれを行っている可能性がありますが、その場所で EXC_BAD_ACCESS が発生する可能性があります。

于 2010-10-05T19:40:13.650 に答える