NSURLConnection и ProgressBar Сбой при попытке конвертировать в float - PullRequest
1 голос
/ 05 октября 2010

я пытаюсь использовать прогрессбар при загрузке с использованием NSUrlConnection

чего-то не хватает, но не знаю, что

см. Мой код

в моем .h у меня есть

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, происходит сбой

2010-10-05 22: 32: 19.924 Коран [2067: 207] длина ресурса data: 1090 Программа получила сигнал: «EXC_BAD_ACCESS».

1 Ответ

3 голосов
/ 05 октября 2010

Я считаю, что FileSize = [NSNumber numberWithLongLong:[response expectedContentLength]]; дает вам автоматически выпущенный NSNumber, который вам нужно где-то сохранить.Возможно, вы делаете это где-то еще в коде, но это вероятное место, где вы могли бы получить EXC_BAD_ACCESS.

...