- (NSCachedURLResponse *)cachedResponseForRequest:(NSURLRequest *)request{ Nsstring *pathString = [[request URL] absoluteString]; NSCachedURLResponse * response = [super cachedResponseForRequest:request]; if (response != nil) return response; else { Nsstring* myString= @"testing"; NSData* data=[myString dataUsingEnCoding: NSASCIIStringEnCoding ]; // // Create the cacheable response // NSURLResponse *response = [[[NSURLResponse alloc] initWithURL:[request URL] MIMEType:[self mimeTypeForPath:pathString] expectedContentLength:[data length] textEnCodingname:nil] autorelease]; NSCachedURLResponse * cachedResponse = [[[NSCachedURLResponse alloc] initWithResponse:response data:data] autorelease]; [self storeCachedResponse:cachedResponse forRequest:request] ; //NSLog(@"DEFAulT CACHE WITH URL %@",[[request URL] absoluteString]); return [super cachedResponseForRequest:request]; } return nil;}- (voID)storeCachedResponse:(NSCachedURLResponse *)cachedResponse forRequest:(NSURLRequest *)request{ [super storeCachedResponse:cachedResponse forRequest:request]; NSLog(@"STORE CACHED RESPONSE WITH URL %@",[[request URL] absoluteString]);}
问题是当我调用cachedResponseForRequest时:在保存之后,响应总是为零.为什么是这样?
我有:
NSURLRequest * req = [NSURLRequest requestWithURL:[NSURL URLWithString:self.imageSource_]];NSCachedURLResponse * response = [[NSURLCache sharedURLCache] cachedResponseForRequest:req];if (response == nil) NSLog(@"RESPONSE IS NIL");else { Nsstring* theString = [[Nsstring alloc] initWithData:response.data enCoding:NSASCIIStringEnCoding]; NSLog(@"RESPONSE IS NOT NIL %@",theString);}
并且它总是打印响应为零. url字符串与它时的字符串相同
storeCachedResponse.出于某种原因,它不是缓存.我已将缓存大小设置为一定的大小.
以上是内存溢出为你收集整理的iphone – NSURLCache没有缓存全部内容,希望文章能够帮你解决iphone – NSURLCache没有缓存所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)