iOS 개발 웹 페이지 - 데이터 캐시
9655 단어 ios캐시청원NSURLRequestNSURLCache
(7) 모든 캐시 지우기 - (void)removeAllCachedResponses;
4. 캐시 GET 요청이 GET 요청에 대해 데이터 캐시를 하려면 매우 간단합니다. NSMutable URL Request *request = [NSMutable URL Request request WithURL:url].//캐시 정책 request 설정cachePolicy = NSURLRequestReturnCacheDataElseLoad; 캐시 정책을 설정하면 NSURLCAche를 사용하여 데이터 캐시를 자동으로 수행합니다. 5.iOS는 NSURL Request에 대해 7가지 캐시 정책을 제공합니다. (실제로 사용할 수 있는 것은 4가지뿐입니다) NSURL Request UseProtocol CachePolicy//기본 캐시 정책(프로토콜에 따라 다름) NSURL Request Reload Ignoring Local CacheData//캐시를 무시하고 NSURL Request Reload Ignoring Local And Remote CaDatache를 다시 요청합니다//NSURL Request Reload Ignoring CaquestNSURL Request Return Cache Data Else Load//캐시가 있으면 캐시를 사용하고 캐시가 없으면 NSURL Request Return Cache Data Dont Load//캐시가 있으면 캐시를 사용하며 캐시가 없으면 요청을 하지 않습니다. 요청 오류 처리로 (오프라인 모드에 사용) NSURL Request Reload Revalidating Cache Data//구현되지 않았습니다 6.캐시 주의사항 캐시 설정은 구체적인 상황에 따라 고려해야 합니다. 만약에 어떤 URL의 데이터를 되돌려 달라고 요청하면 다음과 같습니다. (1) 자주 업데이트: 캐시를 사용할 수 없습니다!예를 들어 주식, 복권 데이터(2)는 변함없다. 과감한 캐시 사용(3) 간혹 업데이트: 캐시 정책을 정기적으로 변경하거나 캐시 알림을 제거할 수 있다. 캐시를 대량으로 사용하면 쌓일수록 커지므로 캐시를 정기적으로 제거하는 것을 권장한다.
4. 간단한 코드 예시
1 - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
2 {
3 // 1.
4 NSURL *url = [NSURL URLWithString:@"http://127.0.0.1:8080/YYServer/video"];
5 NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
6
7 // 2. ( , )
8 request.cachePolicy = NSURLRequestReturnCacheDataElseLoad;
9
10 // 3.
11 [NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) {
12 if (data) {
13 NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableLeaves error:nil];
14
15 NSLog(@"%@", dict);
16 }
17 }];
18 }
19
20 /**
21 //
22 // if ( 7 ) {
23 // request.cachePolicy = NSURLRequestReturnCacheDataElseLoad;
24 // }
25 //
26 NSURLCache *cache = [NSURLCache sharedURLCache];
27 // if ( 7 ) {
28 // [cache removeCachedResponseForRequest:request];
29 // }
30
31 // lastCacheDate = 2014-06-30 11:04:30
32
33 NSCachedURLResponse *response = [cache cachedResponseForRequest:request];
34 if (response) {
35 NSLog(@"--- ");
36 } else {
37 NSLog(@"--- ");
38 }
39 */
다음으로 이동:http://www.cnblogs.com/wendingding/p/3950198.html
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Swift의 패스트 패스Objective-C를 대체하기 위해 만들어졌지만 Xcode는 Objective-C 런타임 라이브러리를 사용하기 때문에 Swift와 함께 C, C++ 및 Objective-C를 컴파일할 수 있습니다. Xcode는 S...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.