2011-08-11 14 views
9

Bir UIWebViewDelegate ve bunun içinde bir UIWebView olan bir UIViewController var. Belirli bir URLdidFailLoadWithError UIWebView ile çağrılır rağmen sayfasını daha sonra yükler

NSURL *url = [NSURL URLWithString:urlAddress]; 
    NSURLRequest *requestObj = [NSURLRequest requestWithURL:url]; 
    [webView loadRequest:requestObj]; 
    [self.view addSubview:webView]; 
    [webView release]; 

yüklemeye çalışıyorum Ama didFailLoadWithError temsilci yöntemi neredeyse anında denir ve hata nesnesidir:

Did fail load with error: Error Domain=NSURLErrorDomain Code=-999 "The operation couldn’t be completed. (NSURLErrorDomain error -999.)" UserInfo=0x1a66c0 {NSErrorFailingURLKey=www.somewebsite.com, NSErrorFailingURLStringKey=www.somewebsite.com} 

Ancak sonra kısa bir zaman, web sitesi olduğunu görebilirsiniz sadece iyi yükler.

Hata yöntemi neden çağrılıyor? aslında yöntem ne olursa olsun web sitesi aslında başarısız olursa veya değil çağrıldığında karşı başarısız oldu ne zaman ve nasıl anlarım? Bir önceki istek tamamlanmadan önce

+0

aynı hata var Umut çünkü ilk kez kullanılması url ve ben url1 yük ikinci kez oldu. Belki herkese yardım eder. –

cevap

37

sayfa sayfa anında javascript aracılığıyla yönlendirilir veya bu hatayı alıyorum nasılsa başka

buradan cevap hatayı gösteren önleyebilirsiniz

: How do I fix NSURLErrorDomain error -999 in iPhone 3.0 OS

if ([error code] != NSURLErrorCancelled) { //show error alert, etc. } 

ama

gibi nerede çağırıldığını nasıl bilmiyorum. URL 200 durum kodu döndürürse eğer öyleyse, kontrol TapGesture işlemek için bir işlev kullanma 1. ait tapcount kullanarak web görünümde

+1

'if ([hata kodu]! = NSURLErrorCancelled) {// hata uyarısını göster, vb.} 'URL tüm kapaklar olmalı :) –

+0

@YasKuraishi fark ettiğin için teşekkürler –

+0

@MarekSebera harika bir çalışma +1 – iLearner

0

Yani başka StackOverflow question from a while back göre Aldığınız hata kodu bir isteğin neden olup yapılıyor. oluyor olabilir ne

Eğer çok hızlı/aynı anda birden çok arama yapıyoruz, ve bir (bu yüzden web sayfası yükler) başarılı ancak diğer başarısız olmasıdır.

-1

Kullanım TapGesture kullanarak, aşağıda fonksiyonu

-(void)animateme{ 
    NSString *urlAddress = Connecting_URL 
    NSURL *url = [NSURL URLWithString:urlAddress]; 
    NSURLRequest *requestObj = [NSURLRequest requestWithURL:url]; 
    [self.webview loadRequest:requestObj]; 
} 

diyoruz Ve temsilci fonksiyonu,

-(void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error{ 
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Device in offline" message:@"Please check your internet connection" delegate:nil cancelButtonTitle:nil otherButtonTitles:nil]; 
     [alert show]; 
} 

o :) yardımcı

+0

Bu cevap vermiyor soru – miniBill