iPhone/objC? 응답을 검사하는 동안 webView : shouldStartLoadWithRequest : naviagiontType ... wait?
나는 정말로 여기에서 붙어있어서 약간의 도움을받을 수 있습니다.
내가 먼저 몇 가지를 설명하자
내가 URL을로드하는있는 UIWebView 있습니다. 사용자가 링크를 클릭하면 - (BOOL) webView : shouldStartLoadWithRequest : navigationType : 메시지를 가져옵니다 (프로토콜에 따름). 이 메서드 내에서 url이 webView에로드되어야하는지 또는 다른 것을 수행해야 하는지를 결정할 수 있습니다. 응답을 검사 할 수 있도록 NSURLConnection을 설정하고 있습니다.
앱이 응답을 얻으면- (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request
navigationType:(UIWebViewNavigationType)navigationType {
NSURLConnection *theConnection = [[NSURLConnection alloc] initWithRequest:request delegate:self];
if (theConnection) {
NSLog(@" Connection established");
receivedDataFromConnection = [[NSMutableData data] retain];
}
else {
NSLog(@"Connection failed");
}
if (downloadYESorNO == YES) {
NSLog(@"Do the download");
return NO;
}
else {
NSLog(@"will show in webView");
return YES;
}
}
- (무효) 연결 : didReceiveResponse는 (프로토콜에 따라)가 메시지를 가져옵니다 내가 거기에 응답을 분석 할 수 있습니다. didReceiveResponse : 준비 (무효) 연결 -까지 기다리 : shouldStartLoadWithRequest : (BOOL) 웹보기를 -
- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
{
NSString *MIME = response.MIMEType;
NSString *appDirectory = [[NSBundle mainBundle] bundlePath];
NSString *pathMIMETYPESplist = [appDirectory stringByAppendingPathComponent:@"MIMETYPES.plist"];
NSArray *displayMIMETypes = [NSArray arrayWithContentsOfFile: pathMIMETYPESplist];
BOOL *asdf = [displayMIMETypes containsObject:MIME];
if (asdf == YES) {
downloadYESorNO =NO;
}
else {
downloadYESorNO = YES;
}
[receivedDataFromConnection setLength:0];
[connection release];
지금 내가 무엇을 달성하기 위해 노력하고있어 수 있도록하는 것입니다.
sendSynchronousRequest와 함께 작업 할 수 있습니다. 응답을 검사하기 전에 전체 파일을 다운로드해야합니다.
누구나 아이디어가 있습니까? 미리 감사드립니다. 또는 응답을 조사하는 더 좋은 방법이 있습니까?
대단히 감사합니다! 나는 오늘 그것을 시도하고 쉬운 방법에 대해 생각하기 때문에 나는 아주 새로운 것을 개발할 것이다. 단지 2 주간의 경험 : D – Yllier
가 방금 해봤습니다. 그것은 위대한 작품이지만, 지금은 내 생각이 그렇게 좋지 않다는 것을 알았습니다. 예를 들어 사람들이 포럼에 게시하려고하면 게시물을 두 번 게시하거나 오류 메시지가 나타납니다. – Yllier