모든 HTTP 요청을 수행하는 토큰을 요청하는 앱을 개발했습니다. 내가처럼 그들을 전화 드렸습니다 NVEngine
라는 클래스의 모든 100 개 가지 요청 처리 해요 :세션이있는 iOS HTTPRequest 처리
- (void) sendRequest:(NSURLRequest *)theRequest withRequestType:(NVRequestType)requestType {
NVURLConnection *conn = [[NVURLConnection alloc] initWithRequest:theRequest
delegate:self
requestType:requestType];
if (!conn) {
NVLog(@"+++++++++++++++++++++++ UNABLE TO CREATE CONNECTION");
}
}
문제를이 요청의 결과가 "세션이 만료"가,이 경우 수 있다는 것입니다 토큰을 새로 고친 다음 사용자 상호 작용없이 동일한 이전 요청을 다시 호출하기 위해 재 인증 HTTP 요청을 수행해야합니다. 내 sendRequest
방법으로 콜백을 관리하려면 어떻게해야합니까? - (void) parseResultForConnection:(NVURLConnection *)connection
하나? sendRequest
으로 돌아갈 수 있다면, 먼저 새 토큰을 검색하기 위해 동기 요청을 수행 한 다음 이전 HTTPCall을 다시 시도 할 수 있습니다.
추신 : 나는 이미 Session expire design pattern 과 같은 주제에 대한 답변을 보았지만 정확히 무엇이 필요한지 찾지 못했습니다.
NSURLConnectionDelegate 및/또는 NSURLConnectionDataDelegate를 구현하려고 했습니까? – Daniel
parseResultForConnection은 이미 델리게이트의 구현이며, 나는 당신이 질문하는 것을 이해하지 못한다. 더 자세하게 얘기해 주 시겠어요? :) – fustalol
좋아, 당신도 구글이 인식하지 못하는 커스텀 클래스를 사용하고있다. 그래서 아무도 그것을 사용하는 방법에 당신을 도울 수 없을 것입니다. 그러나 보통, 당신은'connectionDidFinishLoading :'에서 수신 된 데이터를 파싱하고,'session expired'를 받았다면 새로운 토큰을 얻고 이전 연결을 다시 시도하라는 새로운 요청을 보냅니다. 'NSURLConnection'을 사용할 때 (즉, – Daniel