下面给出的代码适用于 iOS 6,但不适用于 iOS 7。
NSCachedURLResponse cachedURLResponse = [[NSCachedURLResponse alloc] initWithResponse:response data:data userInfo:nil storagePolicy:NSURLCacheStorageAllowed];
[[NSURLCache sharedURLCache] storeCachedResponse:cachedURLResponse forRequest:request];
NSLog(@"Cached response is %@", [[NSURLCache sharedURLCache] cachedResponseForRequest:request]);
在 iOS 6 中,我正在获取缓存的响应数据,但在 iOS 7 中,它返回 null。我使用以下方法在 App 委托中设置了 NSURLCache 对象:
NSURLCache *urlCache = [[NSURLCache alloc] initWithMemoryCapacity:2 * 1024 * 1024
diskCapacity:2 * 1024 * 1024
diskPath:nil];
[NSURLCache setSharedURLCache:urlCache];
缓存在 iOS 7 中不起作用的原因是什么?