iPhone/objC? Examinez une réponse pendant que webView: shouldStartLoadWithRequest: naviagiontType ... attend?
Je suis vraiment coincé ici et je pourrais utiliser de l'aide, s'il vous plaît.
Permettez-moi d'abord expliquer certaines choses:
J'ai un UIWebView qui charge une URL. une fois que l'utilisateur clique sur un lien - (BOOL) webView: shouldStartLoadWithRequest: navigationType: reçoit un message (selon le protocole). À l'intérieur de cette méthode, je peux décider si l'URL doit être chargée dans le WebView ou faire autre chose avec elle. J'établis un NSURLConnection ainsi je peux examiner la réponse.
- (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;
}
}
une fois que l'application reçoit une réponse - (void) connexion: didReceiveResponse: reçoit un message (selon le protocole) et je peux analyser la réponse là.
- (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];
Maintenant, ce que je suis en train de réaliser est de laisser - (BOOL) webView: shouldStartLoadWithRequest: attendre jusqu'à - connexion (void): didReceiveResponse: est prêt.
Je peux travailler avec sendSynchronousRequest: car il téléchargerait le fichier complet avant de pouvoir examiner la réponse.
Est-ce que quelqu'un a une idée? Merci d'avance. ou existe-t-il une meilleure façon d'examiner la réponse?
merci beaucoup! Je vais essayer aujourd'hui et penser à des moyens plus simples parce que je suis tout à fait nouveau à développer. seulement 2 semaines d'expérience: D – Yllier
vient de l'essayer. ça marche super bien, mais maintenant j'ai remarqué que mon idée n'est pas très bonne. Par exemple, si les gens essaient de poster dans un forum, ils vont poster un message d'erreur ou recevoir un message d'erreur ... – Yllier