Я использую if-Modified-Since в заголовке HTTP, чтобы решить, должен ли я загрузить файл.
Приложение было протестировано, и все было в порядке, но теперь я получаю ошибки, когда спрашиваю свой экземпляр NSHTTPURLResponse response.statusCode
или [[response allHeaderFields] objectForKey:@"Last-Modified"]
.
Кажется, это просто NSURLResponse. Каковы возможные причины?
Я прочитал эту тему , но проблема все еще не ясна для меня.
Заранее спасибо!
UPD:
некоторый код:
NSURL *url = [NSURL URLWithString:urlString];
NSFileManager *fileManager = [NSFileManager defaultManager];
NSMutableURLRequest *myRequest = [NSMutableURLRequest requestWithURL:url];
[myRequest setHTTPMethod:@"GET"];
NSDateFormatter *df = [[NSDateFormatter alloc] init];
df.dateFormat = @"EEE',' dd MMM yyyy HH':'mm':'ss 'GMT'";
df.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US"];
df.timeZone = [NSTimeZone timeZoneWithAbbreviation:@"GMT"];
[myRequest addValue:[df stringFromDate:lastModifiedLocal] forHTTPHeaderField:@"If-Modified-Since"];
myRequest.cachePolicy = NSURLRequestReloadIgnoringLocalAndRemoteCacheData;
NSHTTPURLResponse *response=nil;
NSError* error = nil;
NSData* data = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
if (error) {
NSLog(@"Error sending request: %@", [error localizedDescription]);
}
//As was advised
NSHTTPURLResponse* newResp = (NSHTTPURLResponse*)response;
//crash here
NSLog(@"%d", newResp.statusCode);
UPD:
Ошибка в коде - myRequest и request - это разные переменные. Проблема решена.