在iOS中读取URL时缓存问题
我正在开发一个iPhone应用程序,在这个应用程序中,我可以读取存储在URL中的公交时刻表。时间表经常变化,所以每次我都想重新阅读,而不是从缓存中复制。这是我正在使用的代码:在iOS中读取URL时缓存问题,ios,objective-c,Ios,Objective C,我正在开发一个iPhone应用程序,在这个应用程序中,我可以读取存储在URL中的公交时刻表。时间表经常变化,所以每次我都想重新阅读,而不是从缓存中复制。这是我正在使用的代码: NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:timetable_URL]]; NSData *response = [NSURLConnection sendSynchronousRequest:reques
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:timetable_URL]];
NSData *response = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
然而,这似乎读取了缓存的副本,因此当服务器上的时间表发生变化时,应用程序需要一段时间来获取它。谁能告诉我如何强制从服务器读取数据?感谢您在这方面的帮助。您可以在创建NSURL请求时指定缓存策略
NSURLRequest *request = [[NSURLRequest alloc] initWithURL:[NSURL URLWithString:timetable_URL]
cachePolicy: NSURLRequestReloadIgnoringLocalCacheData
timeoutInterval:30.0];
NSData *response = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
您可以在创建NSURLRequest时指定缓存策略
NSURLRequest *request = [[NSURLRequest alloc] initWithURL:[NSURL URLWithString:timetable_URL]
cachePolicy: NSURLRequestReloadIgnoringLocalCacheData
timeoutInterval:30.0];
NSData *response = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
对NSURLRequest使用
cachePolicy
属性,指定NSURLRequestReloadIgnoringLocalCacheData
在指定
NSURLRequestReloadIgnoringLocalCacheData的NSURLRequest上使用cachePolicy
属性
尝试以下方法:
NSURLRequest *urlRequest = [NSURLRequest requestWithURL:url
cachePolicy:NSURLRequestReloadIgnoringCacheData
timeoutInterval:timeInterval]
NSURLConnection *urlConnection = [NSURLConnection connectionWithRequest:urlRequest
delegate:self];
和使用:
- (NSCachedURLResponse *)connection:(NSURLConnection *)connection willCacheResponse:(NSCachedURLResponse *)cachedResponse
{
return nil;
}
尝试以下方法:
NSURLRequest *urlRequest = [NSURLRequest requestWithURL:url
cachePolicy:NSURLRequestReloadIgnoringCacheData
timeoutInterval:timeInterval]
NSURLConnection *urlConnection = [NSURLConnection connectionWithRequest:urlRequest
delegate:self];
和使用:
- (NSCachedURLResponse *)connection:(NSURLConnection *)connection willCacheResponse:(NSCachedURLResponse *)cachedResponse
{
return nil;
}
这个代码工作得很好!几个月来,我一直在断断续续地想办法解决这个问题,但不知怎么的,在文档中找不到正确的页面。这段代码工作得非常好!几个月来,我断断续续地想弄明白这一点,但不知何故,在文档中找不到正确的页面。