웹 서버에서 데이터를 다운로드하는 iPhone 응용 프로그램에서 작업하고 있습니다. connection:willCacheResponse:
메서드가 호출되지 않는 것을 제외하고는 모든 것이 올바르게 작동합니다. 그러나 다른 사람은 connection:didReceiveResponse:
, connection:didReceiveData:
, connection:didFailWithError:
, connectionDidFinishLoading:
과 같이 모두 잘 작동합니다.연결 : willCacheResponse가 호출되지 않습니다.
- (void)makeConnection
{
NSURL *url = [NSURL URLWithString:@"http://www.abc.com"];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url cachePolicy:NSURLRequestReturnCacheDataElseLoad timeoutInterval:60];
[request setHTTPMethod:@"POST"];
NSString *postString = [NSString stringWithFormat:@"%@", string];
[request setValue:[NSString stringWithFormat:@"%d", [postString length]] forHTTPHeaderField:@"Content-length"];
[request setHTTPBody:[postString dataUsingEncoding:NSUTF8StringEncoding]];
NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:request delegate:self];
}
- (NSCachedURLResponse *)connection:(NSURLConnection *)connection willCacheResponse:(NSCachedURLResponse *)cachedResponse
{
NSCachedURLResponse *newCachedResponse = cachedResponse;
NSDictionary *newCachedResponseUserInfo = [NSDictionary dictionaryWithObject:[NSDate date] forKey:@"Cached Date"];
newCachedResponse = [[NSCachedURLResponse alloc] initWithResponse:[cachedResponse response] data:[cachedResponse data] userInfo:newCachedResponseUserInfo storagePolicy:[cachedResponse storagePolicy]];
return newCachedResponse;
}
가 나는 또한 NSURLRequestUseProtocolCachePolicy
에 정책을 변경하려고하지만, 아무것도 도움 : 나는 다음과 같은 연결을했다. 또한 중단 점을 넣으려고 시도했지만 아무 일도 없었습니다.
- (NSCachedURLResponse *)connection:(NSURLConnection *)connection willCacheResponse:(NSCachedURLResponse *)cachedResponse
내가 빠진 것이 있습니까? 미리 감사드립니다.