Я получаю Program received signal: “EXC_BAD_ACCESS”.
при использовании следующего кода.
searchResultFileSize
объявлено как NSNumber
в моем интерфейсе. Я не был уверен, какое свойство установить. В настоящее время у меня это как:
@property (nonatomic, readonly) NSNumber *searchResultFileSize;
Это правильно? Я получаю ошибки в следующих строках:
NSLog(@"float filesize: %f", [searchResultFileSize floatValue]); //Program received signal: “EXC_BAD_ACCESS”.
HUD.progress = [resourceLength floatValue] / [searchResultFileSize floatValue]; //Program received signal: “EXC_BAD_ACCESS”.
Если я закомментирую первую строку, она все равно явно не справится со второй. Есть идеи, в чем может быть проблема? Возможно, мои обращения неверны. Вот два метода, где я использую этот кусок кода:
- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response {
[responseData setLength:0];
searchResultFileSize = [NSNumber numberWithLongLong:[response expectedContentLength]];
NSLog(@"Float filesize: %f", searchResultFileSize);
if ([searchResultFileSize intValue] != NSURLResponseUnknownLength) {
HUD.mode = MBProgressHUDModeDeterminate;
HUD.labelText = @"Getting Results";
}
}
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data {
[responseData appendData:data];
NSNumber *resourceLength = [NSNumber numberWithUnsignedInteger:[responseData length]];
NSLog(@"resourceData length: %d", [resourceLength intValue]);
NSLog(@"filesize: %d", searchResultFileSize);
NSLog(@"float filesize: %f", [searchResultFileSize floatValue]); //Program received signal: “EXC_BAD_ACCESS”.
// HUD.progress is a float
HUD.progress = [resourceLength floatValue] / [searchResultFileSize floatValue]; //Program received signal: “EXC_BAD_ACCESS”.
NSLog(@"progress: %f", [resourceLength floatValue] / [searchResultFileSize floatValue]);
}